C++仍然被视为静态类型语言
Is C++ still considered as a statically typed language?
我曾经知道C++是一种静态类型语言,但较新的C++规范引入了较新的语法auto
,它可以自行确定变量类型。那么C++仍然可以被视为一种静态类型语言吗?
不,这不会使C++成为动态类型语言。 auto
只是一种编译时类型推断方法。生成的代码与没有auto
完全相同,并且类型在运行时无法更改。
C++仍然是具有 auto 类型说明符的静态类型语言,因为 auto 表示编译器将在编译时推断该类型。而不是在运行时使用动态类型语言。
那么C++仍然可以被视为一种静态类型语言吗?
是的,因为此代码片段仍然无法编译:
auto i = 42; // 42 is an int -> i is an int
i = "test"; // can't assign a string to an int
相关文章:
- 在C++中使用非静态类函数的函数
- (为什么)我们可以在初始化中将非静态类成员分配给静态变量吗?
- 在C++中,为什么使用静态类函数而不是常规函数?
- 静态类属性,C++中的多个构造函数
- 如何从静态类函数初始化静态类对象
- 在 c++ 中使用字符串变量选择静态类结构,而不带对象
- 是否通过单元化指针UB访问静态类成员
- 如何在 c++ 中初始化静态类对象?
- 为静态类创建指向对象的指针是否合法?
- thread_local静态类在程序退出时在无效地址处销毁
- 从静态成员函数访问私有非静态类变量 - C++
- 在子类中填充静态类成员
- 静态类变量的多重定义
- 作为成员的静态类模板实例会导致未解析的外部符号错误
- uninit_member:非静态类成员字段 m_cJobState.bstatus 未在此构造函数中初始化,也不在其调
- uninit_member:非静态类成员m_wszParams未在此构造函数中初始化,也不在它C++中调用的任何函数中初
- 说明通过指针访问非静态类成员函数
- 静态类数据成员的线程安全
- 静态类成员的使用
- 如何从嵌套类访问静态整型