跳转到大纲
1 #include <iostream> 2 #include <string.h> 3 4 using namespace std; 5 6 7 /* 8 C中的const可以通过指针进行修改 9 C++中的const优化: 10 1、如果以常量初始化const,编译器会将变量的值放入符号常量表 11 通过指针变量p访问空间内容*p取的是空间的值; 12 通过变量a访问的是符号常量表中的值。 13 2、如果以变量初始化const修饰的变量,没有符号常量表,立即开辟空间。 14 5、尽量用const代替#define,const有类型,const有作用域 15 16 */ 17 18 void test01() 19 { 20 const int a = 10; // 放入了符号常量表 21 int *p = (int *)&a; 22 *p = 100; 23 cout << "*p = " << *p << endl; 24 cout << "a = " << a << endl; 25 } 26 void test02() 27 { 28 int b = 100; 29 const int a = b; // 放入了符号常量表 30 int *p = (int *)&a; 31 *p = 100; 32 cout << "*p = " << *p << endl; 33 cout << "a = " << a << endl; 34 } 35 36 struct stu { 37 int num; 38 char name[32]; 39 }; 40 41 void test03() 42 { 43 stu lucy = {100, "lucy"}; 44 stu *p = (stu *)&lucy; 45 p->num = 300; 46 strcpy(p->name, "bobo"); 47 cout << p->num << ":" << p->name; 48 } 49 50 int main() 51 { 52 test01(); 53 test02(); 54 test03(); 55 return 0; 56 }