123mcz / blog

0 stars 0 forks source link

指针引用 预编译 #9

Open 123mcz opened 1 day ago

123mcz commented 1 day ago

//const int a = 10; //引用 //*指针和引用的区别 //1初始化 引用不能空引用 指针可做空指针 //2引用的东西必须存在 指针可以自己直接创建 //3引用的字节大小和被引用的东西有关,指针大小只和操作系统的位数有关 //4引用初始化后永远不变 指针地址随时可以该 int a = 10; int& ref = a;//ref 与 a 就是同一个东西 ref += 5; cout << a << endl; //*** //常量指针,const往右看有p,const修饰的是p,所以下面代码中 修改初始化后的的p 就为错 但是可以换别的地址。 //指针常量 ,const修饰的是p,初始化后 p不能变 p可以。 //常量指针常量 哪个都不能该 const int * const p; int a = 0;

include

using namespace std;

define AA 50 //宏定义—实现完全的取代效果

void showA() { cout << "A" << endl; } void showB() { cout << "B" << endl; }

ifdef ATYPE

define SHOWFUNC showA

else

define SHOWFUNC showB

endif // ATYPE

int main() { //预编译# cout << AA << endl; //以后面试题看到define宏定义,一定手写替换进去算结果 //预编译的判断 }

123mcz commented 7 hours ago

指针常量:指针本身是个常量,它指向的地址不能改变。可以理解为指针这个 “箭头” 的位置固定了,不能指向别的地方。 常量指针:指向常量的指针,即指针指向的内容不能通过这个指针来改变。可以想象成指针指向一个恒定不变的 “值”。 常量指针常量:既不能改变指针指向的地址,也不能通过该指针改变指向的内容,也就是指针本身和指向的内容都固定了。 指针常量: int num = 10; int const ptr1 = # // 指针常量,指针指向不能改变 在这个例子中,ptr1是一个指针常量,它一旦初始化指向变量num后,就不能再指向其他变量了。 常量指针: int num = 10; const int ptr2 = # // 常量指针,指向的内容不能通过该指针改变 这里ptr2是一个常量指针,它指向的内容(即num的值)不能通过ptr2来修改,但ptr2本身可以指向其他变量。 常量指针常量: int num = 10; const int *const ptr3 = # // 常量指针常量,指针指向和指向的内容都不能改变 ptr3是常量指针常量,既不能改变它的指向,也不能通过它改变指向的内容。