使用decltype获取表达式的类型,而不使用const

吉姆·加里森

考虑以下程序:

int main ()
{
    const int e = 10;

    for (decltype(e) i{0}; i < e; ++i) {
        // do something
    }
}

这无法使用clang(以及gcc)进行编译:

decltype.cpp:5:35: error: read-only variable is not assignable
    for (decltype(e) i{0}; i < e; ++i) {
                                  ^ ~

基本上,编译器假定i必须是const,因为e是。

有没有一种方法可以decltype用来获取的类型e,但可以删除说明const符?

凯西

我喜欢auto i = decltype(e){0};这个。它比使用起来要简单一些type_traits,而且我觉得它更明确地指定了您想要将变量初始化为0e的类型的意图

我最近一直在使用Herb的“ AAA风格”,所以这可能只是我偏见。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试使用declval和decltype获取模板中表达式的类型

来自分类Dev

通过“使用”表达式缩短std :: remove_const(decltype(something))

来自分类Dev

通过“使用”表达式缩短std :: remove_const(decltype(something))

来自分类Dev

使用Lambda表达式获取属性或类型名称

来自分类Dev

使用正则表达式获取 SNMP 陷阱类型

来自分类Dev

为什么不使用正则表达式模式作为javascript数据类型?

来自分类Dev

Rust是否具有与C ++的decltype()等效的功能来获取表达式的类型?

来自分类Dev

不使用管道即可转换正则表达式

来自分类Dev

正则表达式搜索匹配不使用组

来自分类Dev

在xpath表达式中不使用名称空间

来自分类Dev

获取类型名称或表达式的类型

来自分类Dev

使用LAMBDA表达式获取具有相同类型的对象的对象树的深度

来自分类Dev

如何使用正则表达式获取以下URL类型的文章ID

来自分类Dev

如何使用Roslyn获取用户输入表达式的类型?

来自分类Dev

使用LAMBDA表达式获取具有相同类型的对象的对象树的深度

来自分类Dev

如何使用正则表达式获取以下URL类型的文章ID

来自分类Dev

使用正则表达式解析VBA Const声明...

来自分类Dev

如何在密码验证中不使用特殊字符(不使用正则表达式)?

来自分类Dev

在bash中,如何在不使用正则表达式环视的情况下从标记文件获取URL?

来自分类Dev

我如何在不使用Ruby的正则表达式的情况下从数组中获取值?

来自分类Dev

使用fgets读取表达式,并使用sscanf获取数值

来自分类Dev

使用fgets读取表达式,并使用sscanf获取数值

来自分类Dev

从表达式获取容器类型

来自分类Dev

获取 lambda 表达式的返回类型

来自分类Dev

尝试使用 psycopg2 插入时,获取列的类型为 jsonb[] 但表达式的类型为 text[]

来自分类Dev

Sublime Text 3使用的正则表达式类型?

来自分类Dev

创建使用动态生成的类型的表达式树

来自分类Dev

std :: string:非法使用此类型作为表达式

来自分类Dev

使用实体类型表达式的Spring数据JPA

Related 相关文章

  1. 1

    尝试使用declval和decltype获取模板中表达式的类型

  2. 2

    通过“使用”表达式缩短std :: remove_const(decltype(something))

  3. 3

    通过“使用”表达式缩短std :: remove_const(decltype(something))

  4. 4

    使用Lambda表达式获取属性或类型名称

  5. 5

    使用正则表达式获取 SNMP 陷阱类型

  6. 6

    为什么不使用正则表达式模式作为javascript数据类型?

  7. 7

    Rust是否具有与C ++的decltype()等效的功能来获取表达式的类型?

  8. 8

    不使用管道即可转换正则表达式

  9. 9

    正则表达式搜索匹配不使用组

  10. 10

    在xpath表达式中不使用名称空间

  11. 11

    获取类型名称或表达式的类型

  12. 12

    使用LAMBDA表达式获取具有相同类型的对象的对象树的深度

  13. 13

    如何使用正则表达式获取以下URL类型的文章ID

  14. 14

    如何使用Roslyn获取用户输入表达式的类型?

  15. 15

    使用LAMBDA表达式获取具有相同类型的对象的对象树的深度

  16. 16

    如何使用正则表达式获取以下URL类型的文章ID

  17. 17

    使用正则表达式解析VBA Const声明...

  18. 18

    如何在密码验证中不使用特殊字符(不使用正则表达式)?

  19. 19

    在bash中,如何在不使用正则表达式环视的情况下从标记文件获取URL?

  20. 20

    我如何在不使用Ruby的正则表达式的情况下从数组中获取值?

  21. 21

    使用fgets读取表达式,并使用sscanf获取数值

  22. 22

    使用fgets读取表达式,并使用sscanf获取数值

  23. 23

    从表达式获取容器类型

  24. 24

    获取 lambda 表达式的返回类型

  25. 25

    尝试使用 psycopg2 插入时,获取列的类型为 jsonb[] 但表达式的类型为 text[]

  26. 26

    Sublime Text 3使用的正则表达式类型?

  27. 27

    创建使用动态生成的类型的表达式树

  28. 28

    std :: string:非法使用此类型作为表达式

  29. 29

    使用实体类型表达式的Spring数据JPA

热门标签

归档