typedef
来源:互联网 发布:it技术学院 编辑:程序博客网 时间:2024/06/12 00:10
今天看这边《C 专家编程》 在其中看到了typedef 这个关键字, 其实以前我也知道他,都还在用。一直都是用在struct 的前面,只知道用他之后,struct 的变量可以直接声明, 而不需要加struct 。 只知其然,不知其所以然。今天看到这样2 句代码: 以为当时在教室,所以就记下来,也没太在意。就在刚才,无聊的我,就决定来试试!不试不知道,一式吓一跳。开始的时候怎么都不成功。因为我创建的CPP 文件。 所以,我就决定给他添加一个 #include <string> 来试试。 因为我写的代码是: 然后他就报错在第一句那个位置,后来我将其改成String 后,他又不错了, 只提示一个警告。不过已经能够编译运行了! 后来,我又将#include <string> 去掉,结果也能运行了,但是警告还在。我猜,估计又是编译器在抽风,后来我不管怎么去修改他都没问题了。只是警告依然: warning: deprecated conversion from string constant to 'char*' ; 然后我就百度了,查处结果是char *背后的含义是:给我个字符串,我要修改它。 所以在其前面加一个 const 就OK 因为这里的char * 的内容,我们是没办法更改的, 所以最合理的方式是对其加一个const ,意思是:给我个字符串,我只读他。 上面的代码是正确的,0 error, 0 warning 上面的代码是错误的,因为Str 只是 char * 的替代品。就类似于一个人的绰号。所以他的实际意义还是跟char * 是一个意思。所以,在使用他的时候,如果是数组必须先进行动态分配空间!
- typedef
- typedef
- typedef
- typedef
- typedef- -
- typedef
- typedef
- typedef
- typedef
- typedef
- Typedef
- typedef
- typedef
- typedef
- typedef
- typedef
- typedef
- typedef
- ural 1106. Two Teams
- Linux下对移动存储设备的检测
- ural 1080. Map Coloring
- 服务器之间的信息保障机制
- eVC++ 4.0 无法加载工程文件问题
- typedef
- 20110512
- VC6XML
- 流
- 如何在对话框类中调用视图类中的函数
- 电子邮件成企业主动营销的首选工具--刘红杰老师
- 用jconsole监控tomcat的jvm的配置
- 带Body的纯虚函数与不带Body的虚函数?(C++学习)
- gcc - 用于linux系统下编程的编译器