Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

การสร้างตัวดำเนินการ sizeof เองใน C++

ในภาษา C++ เราสามารถสร้างตัวดำเนินการ sizeof เองได้โดยใช้คำสั่ง #define ซึ่งจะทำงานเหมือนกับตัวดำเนินการ sizeof มาตรฐาน ทั้งนี้ sizeof เป็นตัวดำเนินการแบบ unary ที่ใช้คำนวณขนาดของข้อมูลทุกประเภท

รูปแบบการสร้าง sizeof เอง

#define ชื่อแมโคร(วัตถุ) (char *)(&วัตถุ+1) - (char *)(&วัตถุ)

ชื่อแมโคร − ชื่อที่ต้องการตั้งให้กับตัวดำเนินการ sizeof เอง

ตัวอย่างโค้ด

#include <stdio.h>
#define to_find_size(object) (char *)(&object+1) - (char *)(&object)

int main() {
    int x;
    char a[50];
    printf("Integer size : %d\n", to_find_size(x));
    printf("Character size : %d\n", to_find_size(a));
    return 0;
}

ผลลัพธ์

Integer size : 4
Character size : 50

ในโปรแกรมนี้ ใช้คำสั่ง #define ประกาศตัวดำเนินการ sizeof เอง และคำนวณขนาดของตัวแปรจำนวนเต็มและอาเรย์ตัวอักษร