Pure functions จะส่งคืนผลลัพธ์เดียวกันเสมอสำหรับค่าอาร์กิวเมนต์เดียวกัน โดยจะส่งคืนผลลัพธ์เท่านั้นและไม่มีผลข้างเคียงเพิ่มเติม เช่น การปรับเปลี่ยนอาร์กิวเมนต์ สตรีม I/O การสร้างเอาต์พุต เป็นต้น
ฟังก์ชันบริสุทธิ์บางอย่าง ได้แก่ sin(), strlen(), sqrt(), max(), pow(), floor() เป็นต้น ฟังก์ชันที่ไม่บริสุทธิ์บางอย่าง ได้แก่ rand(), time() เป็นต้น
บางโปรแกรมที่แสดงให้เห็นถึงการทำงานที่บริสุทธิ์บางอย่างมีดังนี้ −
strlen()
ฟังก์ชัน strlen() ใช้เพื่อค้นหาความยาวของสตริง สิ่งนี้แสดงให้เห็นในโปรแกรมต่อไปนี้ -
ตัวอย่าง
#include<iostream> #include<string.h> using namespace std; int main() { char str[] = "Rainbows are beautiful"; int count = 0; cout<<"The string is "<< str <<endl; cout <<"The length of the string is "<<strlen(str); return 0; }
ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นเป็นดังนี้ −
The string is Rainbows are beautiful The length of the string is 22
sqrt()
ฟังก์ชัน sqrt() ใช้ในการหารากที่สองของตัวเลข ซึ่งแสดงให้เห็นในโปรแกรมต่อไปนี้ -
ตัวอย่าง
#include<iostream> #include<cmath> using namespace std; int main() { int num = 9; cout<<"Square root of "<< num <<" is "<<sqrt(num); return 0; }
ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นเป็นดังนี้ −
Square root of 9 is 3