时间: 2020-11-24|47次围观|0 条评论

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 }

 

转载于:https://www.cnblogs.com/abc-begin/p/7773023.html

原文链接:https://blog.csdn.net/weixin_30342827/article/details/96173960

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《C++程序设计(第4版)读书笔记_指针、数组与引用
   

还没有人抢沙发呢~