gpt4 book ai didi

c++ - 内联结构声明

转载 作者:可可西里 更新时间:2023-11-01 18:29:49 26 4
gpt4 key购买 nike

我有兴趣注意到 C++(特别是 VSVC++ 2008)允许我在方法中声明一个内联结构。例如:

MyClass::method()
{
struct test{ int x;};
test t = {99};
}

我的问题是,这个声明在内部是如何工作的,特别是它是否对性能有任何负面影响?

最佳答案

how does this declaration work internally?

与 namespace 范围内的声明完全一样,除了名称仅在其声明所在的 block 范围内可见(在本例中为函数体)。更新:正如@Nawaz 指出的那样,有一个或两个额外的限制适用于局部类:它们不能有静态数据成员,并且(在 C++03 中,但不是 C++11 中)它们不能用作模板类型参数。

does it have any negative performance implications?

不,除了它的范围(只影响代码是否编译)之外,它与任何其他类定义相同。

关于c++ - 内联结构声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7723887/

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