C++ TR1:在 const 方法中使用均匀分布生成随机数的正确方法是什么?
我有一个简单的 const 方法想要生成一个随机数 int Object::const_method() const { std::tr1::uniform_int<int> uni(0,100) // do some calculat…
我应该将这些成员函数声明为 const 吗?
我正在编写一些 C++ 代码,其中有几个带有私有方法的管理器对象,例如 void NotifyFooUpdated() 在该对象的侦听器上调用 OnFooUpdated() 方法。 请注…
c++ 中 const 和没有 const 方法?
我有一个程序,它的许多类都有一些带有关键字 const 的运算符和方法,如下所示: operator const char* () const operator char* () void Save(const …
Qt4 C++指向 const QList 指针的指针
我被指向 const QList ofpoints to Foo 的指针卡住了。我将 Bar 对象中指向 myListOfFoo 的指针传递给 Qux。我使用指向 const 的指针来防止在 Bar 类…
为什么 strtof 和 strtod 的 endptr 参数是指向非常量 char 指针的指针?
strtod 具有以下签名: float strtof(const char *str, char **endptr) double strtod(const char *str, char **endptr) 它们各自将输入字符串 str …
在 C++ 中事后添加常量;
可能的重复: 是否有一些忍者技巧变量声明后使其常量? 考虑以下最小示例: void MutateData(std::string&) int main() { std::string data = "so…
是否有一些忍者技巧可以在声明后将变量设为常量?
我知道答案是 99.99% 否,但我认为值得一试,你永远不会知道。 void SomeFunction(int a) { // Here some processing happens on a, for example: a *…
指向委托给removeAll()的方法的常量指针参数
考虑这样的方法: void Parent::removeChild(Child *child) { children.removeAll(child) } 在这种情况下,由于 child 本身永远不会被修改,因此可以…
无需 const_cast 即可修改 *this 的 Const 方法
我正在编写的程序中出现了以下模式。我希望它不是太做作,但它设法在 const 方法 Foo::Questionable() const 中改变 <code>Foo 对象,而不使…
C++ : 自动常量?
当我编译此代码时: class DecoratedString { private: std::string m_String public: // ... constructs, destructors, etc std::string& ToStrin…
C++ 中的 Const 函数和接口
我将使用以下(简单)接口作为示例: struct IObject { virtual ~IObject() {} virtual std::string GetName() const = 0 virtual void ChangeState()…
通过非常量指针修改常量
我对以下代码中发生的事情有点困惑: const int e = 2 int* w = ( int* ) &e // (1) cast to remove const-ness *w = 5 // (2) cout << *w <…
成员函数什么时候应该有 const 限定符,什么时候不应该有?
大约六年前,一位名叫 Harri Porten 的软件工程师写了这篇文章,询问问题,“成员函数什么时候应该有 const 限定符,什么时候不应该有?”我发现这是…
将基本(非指针)参数设置为常量是否有意义?
最近我和另一位 C++ 开发人员就 const 的如下使用进行了交流: void Foo(const int bar) 他觉得这样使用 const 是一个很好的做法。 我认为它对函数的…