【语法】C++那些琐碎的小事。
// // // // // // // // //
///2013.3.18
// // // // // // // // //
【为什么接受字符串的函数声明的参数大多是const char*而不是char*?】
这是一个简单的问题,
但很适合作为这套琐碎集的开始。
请看如下函数:

这是cocos2d-x中创建Label控件的函数。
以此为代表的,
接受字符串作为参数的函数都喜欢声明为const char*而不是char*。
这是很多初学者所忽略的问题,
更多新手会想敲个char*就完了,添个const是个什么事儿哎?
其实答案很简单,
仅仅用于读取参数中的字符串时,
当然不希望字符串的内容发生改变,
于是选择使用const char*——指向常量char的指针(指针指向的值不可更改,但是指针可以更改)。
而使用char*则是指向char的指针,
并不能保证不会被更改。
除此之外,
还有一个兼容性的问题。
当使用const char*作为参数时,
传入char*类型的值也可以。
这是因为char*可以转化为const char*。
但是反之却不行,
因此如果不需要修改字符串的值的话,
最好在声明时使用const char*而不是char*。
// // // // // // // // //
///2013.3.19
// // // // // // // // //
【尽管这点很搞笑,但是还是要提醒大家不要忘记在class的大括号外面添加一个分号】
在Java中也许不需要这样做,
但是如果在C++中如果忘记添加分号的话,
它是无法自动识别的哦。
error C2143: 语法错误 : 缺少“;”(在“using”的前面)