โอเปอเรเตอร์ เป็นสัญลักษณ์ที่ใช้ระบุคอมไพเลอร์เพื่อดำเนินการบางอย่างในภาษาการเขียนโปรแกรม
การจัดตำแหน่ง ตัวดำเนินการคือตัวดำเนินการที่ส่งคืนการจัดตำแหน่งที่จะใช้กับตัวแปรประเภทที่กำหนด ค่าที่ส่งคืนมีหน่วยเป็นไบต์
ไวยากรณ์
var align = alignof(tpye)
คำอธิบาย
-
การจัดตำแหน่ง − โอเปอเรเตอร์ใช้เพื่อส่งคืนการจัดตำแหน่งของข้อมูลที่ป้อน
-
ประเภทพารามิเตอร์ − ประเภทข้อมูลที่จะส่งคืนการจัดตำแหน่ง
-
คืนค่า − ค่าเป็นไบต์ที่ใช้เป็นการจัดตำแหน่งสำหรับประเภทข้อมูลที่กำหนด
ตัวอย่าง
โปรแกรมส่งคืนค่าสำหรับจัดเรียงข้อมูลพื้นฐาน
#include <iostream> using namespace std; int main(){ cout<<"Alignment of char: "<<alignof(char)<< endl; cout<<"Alignment of int: "<<alignof(int)<<endl; cout<<"Alignment of float: "<<alignof(float)<< endl; cout<<"Alignment of double: "<<alignof(double)<< endl; cout<<"Alignment of pointer: "<<alignof(int*)<< endl; return 0; }
ผลลัพธ์
Alignment of char: 1 Alignment of int: 4 Alignment of float: 4 Alignment of double: 8 Alignment of pointer: 8
ตัวอย่าง
#include <iostream> using namespace std; struct basic { int i; float f; char s; }; struct Empty { }; int main(){ cout<<"Alignment of character array of 10 elements: "<<alignof(char[10])<<endl; cout<<"Alignment of integer array of 10 elements: "<<alignof(int[10])<<endl; cout<<"Alignment of float array of 10 elements: "<<alignof(float[10])<<endl; cout<<"Alignment of class basic: "<<alignof(basic)<<endl; cout<<"Alignment of Empty class: "<<alignof(Empty)<<endl; return 0; }
ผลลัพธ์
Alignment of character array of 10 elements: 1 Alignment of integer array of 10 elements: 4 Alignment of float array of 10 elements: 4 Alignment of class basic: 4 Alignment of Empty class: 1
ขนาดของ() โอเปอเรเตอร์ในภาษาโปรแกรม C++ คือโอเปอเรเตอร์ unary ที่ใช้ในการคำนวณขนาด of ตัวถูกดำเนินการ
ตัวอย่าง
โปรแกรมนี้เป็นการแสดงความแตกต่างระหว่าง sizeof operator และ align of operator
#include <iostream> using namespace std; int main(){ cout<<"Alignment of char: "<<alignof(char)<<endl; cout<<"size of char: "<<sizeof(char)<<endl; cout<<"Alignment of pointer: "<<alignof(int*)<<endl; cout<<"size of pointer: "<<sizeof(int*)<<endl; cout<<"Alignment of float: "<<alignof(float)<<endl; cout<<"size of float: "<<sizeof(float)<<endl; return 0; }
ผลลัพธ์
Alignment of char: 1 size of char: 1 Alignment of pointer: 8 size of pointer: 8 Alignment of float: 4 size of float: 4