相关疑难解决方法(0)

通过const值返回的目的?

const的目的是什么?

const Object myFunc(){
    return myObject;
}
Run Code Online (Sandbox Code Playgroud)

我刚刚开始阅读Effective C++,而第3项提倡这一点,Google搜索也提出了类似的建议,但也有反作用.我看不出在这里使用const会更好.假设需要按值返回,我认为没有任何理由保护返回的值.给出为什么这可能有用的示例是防止返回值的意外bool强制转换.实际问题是应该使用explicit关键字来防止隐式bool强制转换.

在这里使用const可以防止在没有赋值的情 所以我无法用这些对象执行算术表达式.似乎没有一个未命名的const有用的情况.

在这里使用const获得了什么,何时更可取?

编辑:将算术示例更改为修改在分配之前可能要执行的对象的任何函数.

c++ const

119
推荐指数
3
解决办法
10万
查看次数

在OS X 10.9上找不到'ext/slist'文件

我试图让一些旧的第三方软件在OS X 10.9上编译.我已经设法通过调整Makefile中的设置来摆脱大多数编译问题,这些设置最初是在2005年左右为gcc编写的.但是,我目前还不知道如何克服C++源文件的这个错误:

/utility.h:42:10:致命错误:'ext/slist'文件未找到

据我所知,这ext/slist属于某些版本的STL.该版本是否已被取代,或者是否必须以任何特殊方式激活Apple版本的Clang/LLVM(5.0 for OS X 10.9)?

如果可能的话,我更愿意使用预安装的工具编译此软件,而不是通过MacPorts安装gcc等步骤.

顺便说一句,这些警告也持续存在:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_set:202:2:警告:不推荐使用标头.迁移到[-W#警告] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:209:2:警告:使用标头已弃用.迁移到[-W#警告]

c++ xcode stl llvm-clang osx-mavericks

4
推荐指数
1
解决办法
3596
查看次数

标签 统计

c++ ×2

const ×1

llvm-clang ×1

osx-mavericks ×1

stl ×1

xcode ×1