首页
Python
Java
PHP
IOS
NodeJS
JavaScript
HTML5
小程序
AI
奇标
全部标签
c++ - 标准是否定义了 `a[i]` 的类型,其中 `a` 是 `T [M][N]`?
我偶尔会使用多维数组,并且很好奇标准(C11和/或C++11)关于使用比为数组声明的“维度”更少的“维度”进行索引的行为。给定:inta[2][2][2]={{{1,2},{3,4}},{{5,6},{7,8}}};标准是否说明了a[1]或a[0][1]是什么类型,是否合法,以及它是否应该正确索引子-数组如预期?auto&b=a[1];std::cout 最佳答案 m[1]只是int[2][2]类型。同样,m[0][1]就是int[2]。是的,作为子数组的索引按照您认为的方式工作。 关于
amp
43
code
section
奇标
c++
c
multidimensional-array
language-lawyer
c++ - 这两个 C++ 初始化器语法在语义上是否有所不同?
假设以下代码是可以正确编译的合法代码,T是类型名,x是变量名。语法一:Ta(x);语法二:Ta=x;这两个表达式的确切语义是否不同?如果是,在什么情况下?如果这两个表达式确实具有不同的语义,我也很好奇标准的哪一部分讨论了这一点。此外,如果T是标量类型的名称(也称为int、long、double,等等...),当T是标量类型与非标量类型时有什么区别? 最佳答案 是的。如果x的类型不是T,则第二个示例扩展为Ta=T(x)。这要求T(Tconst&)是公开的。第一个示例不调用复制构造函数。在检查了可访问性之后,就可以删除拷贝(正如Tony
amp
有所不同
code
section
奇标
c++
language-features
initializer
language-lawyer
Home
Powered By JJZJJ.COM
页面耗时:0.053s