一种是使用C++异常:尝试catch块.但是,当引发异常时,释放动态内存将成为一个问题.
第二种是使用C风格:errno变量
第三个是在错误时返回-1,在成功时返回0 :)
应该选择哪种方式进行中型项目?为什么?还有其他更好的方法..?
如何将变量区分为编译器构造的字符串?
例如,虽然右值"Hello, World"是类型const char*.const char*本身并不意味着指针不能改变.一个char* const指针不能改变,但是这不是什么编译器构成.
这是否意味着,对于任何拥有a的容器,const char*数据应该通过C++的移动语义之外的方式复制?有没有办法只移动编译器构造的字符串并保留所有其他字符串?
例如,在GCC 4.5.2,它返回类型的方法int,而不是int&被当作返回int&&.我不知道实际的标准是否应该是这样的,但这就是海湾合作委员会暂时做的事情.
编辑:澄清一下,我的意思是应该复制指针指向的实际内存.这意味着必须分配新内存,并且应将指针中的数据复制到新位置.