相关疑难解决方法(0)

在getter函数中返回const引用或副本?

默认情况下,从getter函数返回副本(1)或引用(2)会更好吗?

class foo {
public:
    std::string str () { // (1)
        return str_;
    }

    const std::string& str () { // (2)
        return str_;
    }

private:
    std::string str_;
};
Run Code Online (Sandbox Code Playgroud)

我知道2)可能更快,但不必因(N)RVO.1)关于悬挂引用更安全,但对象可能会过时或永远不会存储引用.

当你写一个课程时,你的默认值是什么,而且还不知道(但)性能和生命周期问题是否重要?

附加问题:当成员不是普通字符串而是向量时,游戏会改变吗?

c++ const return-value

41
推荐指数
4
解决办法
2万
查看次数

识别模板中的基元类型

我正在寻找一种方法来识别模板类定义中的基元类型.

我的意思是,有这个课:

template<class T>
class A{
void doWork(){
   if(T isPrimitiveType())
     doSomething();
   else
     doSomethingElse(); 
}
private:
T *t; 
};
Run Code Online (Sandbox Code Playgroud)

有没有办法"实现"isPrimitiveType().

c++ templates

24
推荐指数
3
解决办法
2万
查看次数

标签 统计

c++ ×2

const ×1

return-value ×1

templates ×1