const-correctness

const-correctness

文章 0 浏览 5

通过非常量指针修改常量

我对以下代码中发生的事情有点困惑: const int e = 2; int* w = ( int* ) &e; // (1) cast to remove const-ness *w = 5; // (2) cout << *w << endl…

满意归宿 2024-08-26 13:09:19 11 0

RAII:在 const 方法中初始化数据成员

在RAII中,资源在被访问之前不会被初始化。然而,许多访问方法被声明为常量。我需要调用一个可变(非常量)函数来初始化数据成员。 示例:从数据库加…

归途 2024-08-26 05:19:19 13 0

成员函数什么时候应该有 const 限定符,什么时候不应该有?

大约六年前,一位名叫 Harri Porten 的软件工程师写了这篇文章,询问问题,“成员函数什么时候应该有 const 限定符,什么时候不应该有?”我发现这是…

£噩梦荏苒 2024-08-25 16:02:17 14 0

将基本(非指针)参数设置为常量是否有意义?

最近我和另一位 C++ 开发人员就 const 的如下使用进行了交流: void Foo(const int bar); 他觉得这样使用 const 是一个很好的做法。 我认为它对函数的…

东北女汉子 2024-08-25 10:32:51 14 0

如何返回“只读”向量的副本

我有一个类,它有一个私有属性向量 rectVec; class A { private: vector rectVec; }; 我的问题是如何返回矢量的“只读”副本? 我正在考虑这样做: c…

谁的新欢旧爱 2024-08-25 04:13:05 9 0

为什么我在转换“float**”时出错到“const float**”?

我有一个接收 float** 作为参数的函数,我尝试将其更改为采用 const float**。 编译器(g++)不喜欢它并发出: invalid conversion from 'float**' to…

晨敛清荷 2024-08-25 03:14:01 8 0

您多久声明一次函数为 const?

您觉得有帮助吗?…

旧竹 2024-08-24 17:41:54 9 0

复数返回值的常量正确性

结构体 Foo { 字符 * 数据指针; }; class ISomeInterface { public: Foo GetFoo( ) const; Foo GetFoo( ); }; Foo::DataPtr 是指向ISomeInterface 对…

错爱 2024-08-22 15:53:55 14 0

从“foo”转换为到“const foo” - C++

我有一个类似的函数(请不要关心通过引用返回临时值。这只是解释问题的示例), const foo& get_const() { foo f; return f; } 这显然无法编译。我正…

折戟 2024-08-22 14:13:10 13 0

将 boost::Optional 与常量类型一起使用 - C++

我有一个容器类,它使用 boost::Optional 来保存该值。代码如下所示, template struct traits { typedef T value_type; typedef T& reference; }; te…

晨与橙与城 2024-08-22 12:46:24 15 0

在 C++ 中使用特征

这个问题与我的上一个问题相关。我正在尝试使用 traits 和 traits 解决问题。请考虑以下代码。 template struct traits { typedef const T& const_ref…

寻找我们的幸福 2024-08-22 12:12:58 15 0

const 正确性和返回值 - C++

请考虑以下代码。 struct foo { }; template class test { public: test() {} const T& value() const { return f; } private: T f; }; int main() { …

┼── 2024-08-22 06:37:59 9 0

通过指向 const 的指针释放内存是一个好习惯吗

有很多问题讨论 C 和 C++ 处理指针常量删除的细节,即 free() 不接受它们以及 delete 和 delete[] 会执行此操作,并且常量性不会阻止对象销毁。 我感…

巷子口的你 2024-08-22 05:01:43 12 0

为什么将“指针到非常量指针”转换为不合法?指向“指向 const 指针的指针”

将非常量指针转换为常量指针是合法的。 那么为什么将指向非 const 的指针转换为指向 const 的指针是不合法的呢? 例如,为什么下面的代码是非法的: c…

霓裳挽歌倾城醉 2024-08-20 10:53:14 15 0

如何在模板函数签名中要求 const_iterator 语义?

我正在创建一个构造函数,它将采用一对输入迭代器。我希望方法签名具有类似于以下内容的编译时 const 语义: DataObject::DataObject(const char *beg…

椒妓 2024-08-20 00:01:03 10 0
更多

推荐作者

佚名

文章 0 评论 0

羁客

文章 0 评论 0

文章 0 评论 0

夏日落

文章 0 评论 0

隐诗

文章 0 评论 0

更多

友情链接

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文