C++程序设计(第4版)读书笔记_指针、数组与引用
void *
函数指针和指向类成员的指针不能被赋给void *
字符串字面值常量
1 #include <iostream> 2 3 using namespace std; 4 5 void f() 6 { 7 char * p = "hello"; 8 p[1] = 'a'; 9 } 10 11 int main() 12 { 13 f(); 14 15 return 0; 16 }
书上说C++11不能接受,不过我分别试了gcc的3.4.5和7.2版本,编译都没有问题。当然了,要是这么写可就坑了,直接会core的
指针与const
1 void f1(char * p) 2 { 3 char s[] = "Gorm"; 4 5 const char * pc = s; //指向常量的指针 6 pc[3] = 'g'; //错误:pc指向常量 7 pc = p; //ok 8 9 char * const cp = s; //常量指针 10 cp[3] = 'a'; //ok 11 cp = p; //错误:cp是一个常量 12 13 const char * const cpc = s; //指向常量的常量指针 14 cpc[3] = 'a'; //错误:cpc指向常量 15 cpc = p; //错误:cpc本身一个常量 16 }
posted on 2017-11-02 16:46 LastBattle 阅读(134) 评论(0) 编辑 收藏 举报