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