是否可以在C ++中使用匿名类?

msc:

我已经看到匿名类C++上Quora的代码。它已成功编译并运行。

代码在这里:

#include <iostream>

auto func()
{
    class // no name
    {
      public:
             int val;
    } a;

    a.val = 5;

    return a;
}

int main()
{
    std::cout << func().val << std::endl;
    return 0;
}

那么,它在C ++中有效吗?

另外,我很好奇,可以在C ++中使用匿名类吗?

代词

在C ++中,匿名联合是这种形式的联合:

 union { ... } ;

它定义了一个未命名类型的未命名对象。它的成员被注入到周围的作用域中,因此可以在不使用<object>.前缀的情况下引用它们

从这个意义上讲,不存在匿名类(在C ++联合中不是联合的类)。

另一方面,未命名的类(包括结构和联合)也并不稀奇。

union { ... } x;
class { ... } y;
typedef struct { ... } z;

x并且y是未命名类型的命名对象。z是typedef名称,它是未命名结构的别名。它们之所以称为匿名,是因为该术语保留用于上述形式的联合。

[](){}

Lambda是未命名类类型的未命名对象,但是它们也不被称为匿名。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在C ++中使用匿名类实现接口

是否可以在C ++中使用类混合模式覆盖功能

是否可以在C#类中使用Web方法?

是否可以在构造函数C ++中使用可以在类中使用相同的变量?

在Java中使用匿名类是否被认为是不好的样式还是好的?

是否可以在Flex中使用C库?

可以在匿名函数中使用 useMemo 吗?

是否可以从匿名类调用多个方法?

是否可以在 C 中使用 C++ 的排序?

是否可以在C,C ++中使用类似Java的同步语句?

是否可以使用Lambda代替匿名类来创建新对象?

是否可以在数据类中使用* args?

是否可以在AuditorAwareImpl类中使用存储库?

是否可以在其成员函数中使用类模板?

PHP,是否可以在数组中使用匿名函数来获取特定值?

是否可以在 C 中使联合右对齐?

是否可以在 Pike 语言中使用外部 C 库?

是否有任何库可以在C ++中使用HFile格式

在c ++中使用union时是否可以跳过字节?

是否可以在 groovy、c++ 风格的宏中使用

是否可以在C#中使用IGetActivationFactory.GetActivationFactory?

是否可以在Obj-C中使用Swift的枚举?

是否可以在C中使用较大的char缓冲区

是否可以在C数组中使用迭代器?

是否可以在javascript应用程序中使用c ++库

是否可以在 Objective-c 中使用 YouTubePlayer-Swift?

是否可以在css中使用c#变量

是否可以在ARC中使用本机C ++代码?

是否可以使用匿名记录