深入分析C++中声明与定义的区别(3)
typedef 为一个已存在的类型创建一个别名。而不是创建一个新的类型。它不提供类型安全。如
typedef int IntA; typedef int InB;
在需要IntA的地方使用IntB是不会报错的。它们可以互相替换。因为此我们称它不提供类型安全。但是在定义函数类型时typedef经常使用,可以使定义更清晰。
标准c库提供一个assert宏,用以保证给定的表达式值非零。否则便会输出错误信息并终止程序执行。只有在程序中没有定义NDEBUG时,assert才会工作。一旦定义NDEBUG ,assert语句将会被忽略 。注意与VC中的ASSERT相区别。ASSERT是vc提供的。当_DEBUG被定义时才会起作用。
在vc的DEBUG模式下_DEBUG会被定义。而在RELEASE模式下NDEBUG会被定义。
好了,相信大家都会明白开头提出的问题了。如果有不明白的,请务必留言哦。如有错误,也请不吝指正!!
以上内容参考自《Large Scale C++ software design》。
- 上一篇:C语言入门之指针用法教程
- 下一篇:C++中引用的区别分析