相关疑难解决方法(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万
查看次数

C++ POD类型不能有任何构造函数吗?

我有一个类和一个const变量.

struct A 
{
    int b;
};

A const a;
Run Code Online (Sandbox Code Playgroud)

该类A是POD,可以像这样初始化.

A const a = { 3 };
Run Code Online (Sandbox Code Playgroud)

恕我直言,有这样的构造函数看起来很好.

struct A 
{
    int b;

    A(int newB) : b(newB)
    {
    }
};
Run Code Online (Sandbox Code Playgroud)

但Clang假定A为非聚合类型.为什么我不能有这样的构造函数?或者我应该做些什么?


我修改了问题来表达我原来的意思.我已经写了structclass错误,并抱歉@Johannes约困惑:)

c++ constructor pod

17
推荐指数
2
解决办法
9070
查看次数

标签 统计

c++ ×2

const ×1

constructor ×1

pod ×1