gpt4 book ai didi

c++ - 模仿结构/类之间的 C#/D 差异是否是好的 C++ 风格?

转载 作者:行者123 更新时间:2023-11-30 04:28:23 26 4
gpt4 key购买 nike

<分区>

如果我的理解是正确的,则以下语义适用于 C++、C# 和 D 中的结构和类:

        struct          class
----------------------------------
C++ stack/heap stack/heap
value/reference value/reference

C# / D stack heap
value reference

也就是说,在 C++ 中,结构和类之间没有语义差异(除了默认的公共(public)/私有(private)访问)。相反,C# 和 D 结构具有值语义和堆栈分配(至少在默认情况下),而 C# 和 D 类具有引用语义和堆分配。

我的问题是:通过专门为所有具有值语义的实体使用 struct 关键字,为所有具有引用语义的实体专门使用 class 关键字来模仿这种差异是否是好的 C++ 风格?

这当然是一种不由编译器强制执行的自律工具,但它可以提高代码的可读性,特别是对于具有 C#/D 背景的审阅者。 OTOH,C++ 中的当前习语似乎只对简单实体(例如纯 POD 聚合和模板元函数)使用 struct 关键字,因此它可能会让 C++ 程序员感到困惑。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com