本文共 410 字,大约阅读时间需要 1 分钟。
功能重载带来的二义性问题,在C++中确实需要注意。比如说,如果你有两个函数声明foo()和foo(int a=0),当你只写foo()的时候,编译器是不确定该选哪一个。这一点可能会让开发者困惑。可能这就是为什么在C++中很少会有这样的 oversight,除非你特别小心。
关于C++中的指针操作,你可以直接使用link* next,这种方法在使用不完全类类型时很有用。但需要注意的是,在C语言中你只能用结构体指针,比如struct link* next。这种语言特性会影响代码的设计。
关于字符串处理,C风格的字符串有两种常见形式。第一种是用数组方式定义,手动添加结束符;例如,char a[] = {'a','b','v','\0'}; 这样需要自己加上\0。第二种方式是使用字符串literal,编译器会自动添加结束符。例如,char a[] = "abv"; 这样更为方便。明确区分这两种方式可以帮助你避免出错。
转载地址:http://aajuk.baihongyu.com/