c++ - decltype 和 typeof 的区别?

标签 c++ c++11 typeof decltype

关于decltypetypeof的两个问题:

  • decltypetypeof 操作符有区别吗?
  • typeof 在 C++11 中会过时吗?

最佳答案

c++ 中没有 typeof 运算符。虽然大多数编译器确实提供了这样的功能很长一段时间,但它一直是编译器特定的语言扩展。因此,比较两者的行为通常是没有意义的,因为 typeof 的行为(如果它甚至存在的话)非常依赖于平台。

由于我们现在有了获取变量/表达式类型的标准方法,因此确实没有理由依赖不可移植的扩展,所以我想说它已经过时了。

要考虑的另一件事是,如果 typeof 的行为与给定编译器的 decltype 不兼容,则可能是 typeof 扩展在未来不会得到太多开发来包含新的语言特性(这意味着它可能根本无法与 lambdas 一起使用)。我不知道目前是否是这种情况,但这是一种明显的可能性。

关于c++ - decltype 和 typeof 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14130774/

相关文章:

c++ - 按数字排序

c++ - Boost::typeof 编译器问题:修改 typeof,使用 decltype 代替

javascript - typescript 类装饰器 : typing properties defined in decorator function

c++ - 在 C++ 中,如何访问继承类中的私有(private)基成员变量?

c++ - 不返回 lambda 奇怪的行为

c++ - Boost 客户端无法从服务器接收消息

c++ - 如何从 C++ 中的一串科学数字中删除后面的零

c++ - C++03 中缺少 typeof 运算符?

c++ - 嵌套结构的 boost 序列化不起作用

c++ - 在没有任何构造函数的类的情况下,C++11 中自动生成的类成员函数