c++ 要注意的问题
来源:互联网 发布:申请网络出版要多久 编辑:程序博客网 时间:2024/04/29 09:46
- typedef的两个陷阱
陷阱一:
记住,typedef是定义了一种类型的新别名,不同于宏,它不是简单的字符串替换。比如:
先定义:
typedef char* PSTR;
然后:
int mystrcmp(const PSTR, const PSTR);
const PSTR实际上相当于const char*吗?不是的,它实际上相当于char* const。
原因在于const给予了整个指针本身以常量性,也就是形成了常量指针char* const。
简单来说,记住当const和typedef一起出现时,typedef不会是简单的字符串替换就行。
陷阱二:
typedef在语法上是一个存储类的关键字(如auto、extern、mutable、static、register等一样),虽然它并不真正影响对象的存储特性,如:
typedef static int INT2; //不可行
编译将失败,会提示“指定了一个以上的存储类”。
typedef 定义函数指针: typedef int (*funcname)(int, int); 其中funcname就是 指向返回值为int,参数列表为int, int 的函数指针类型。调用函数的时候(funcname是函数指针),应用如下语句:(*funcname)(int, int)
- const修饰符
const char * 修饰的是一个不可修改的字符串
char * const str 说的是一个不可改动的字符串指针
- 在<new>中有个函数叫做set_new_handler(void (*newhandler)()),用于在new不能分配内存的时候调用
- 对static类型数据的初始化:
- 一般的static数据(例如static int),必须在类外面进行初始化;
- 只有static const才能在类的内部进行初始化(static const int a = 0)
- 外面进行初始化时不写static关键字,否则会编译错误
- [C] 一个要注意的输入输出问题
- C语言要注意的一些问题
- C#DataRow注意的问题
- Linux C 格式化输出时要注意的问题
- C语言 指针要注意的一些细节问题
- Linux C 格式化输出时要注意的问题
- swift调用obj-c要注意的小问题
- c/c++ 处理字符串时要注意的问题
- c语言指针使用的注意问题
- C语言开发应该注意的问题
- c语言case的使用注意问题
- C语言需要注意的一些问题
- C语言需要注意的问题
- c编程中需注意的问题
- c/c++内存管理注意的问题
- C语言一些需要注意的问题
- c语言:scanf需要注意的问题
- c语言:switch需要注意的问题
- 测试版
- 泛型小结
- 小多的Android入门教程系列---之1---贪吃蛇改进版
- 《那些年啊,那些事——一个程序员的奋斗史》——04
- hibernate native Sql Rounding necessary 解决
- c++ 要注意的问题
- Linux终端使用技巧及其他(整理)
- Android Adapter
- MFC消息响应机制及映射机制理解
- 鼠标悬浮移出控制div的显示与隐藏
- Ubuntu 9.10 源码安装xen 4.0.1
- 实用phpcms v9代码(自己整理的)
- Oracle - sequence认识
- 关闭WPF主程序方法