Arrays 如何将基于范围的循环应用于C++;11? #包括 使用名称空间std; int main(){ int-arr[4]={1,2,3,4}; int arr2[4]={5,6,7,8}; int**arrPtr; arrPtr[0]=arr; arrPtr[1]=arr2; 对于(int*a:arrPtr){ 对于(int i:a){ 不能包含 int main(){ int m[][4]={ { 0, 1, 2, 3 }, { 4, 5, 6, 7 }, { 8, 9, 0, 1 }, { 2, 3, 4, 5 }, }; 用于(自动和联机:m){ 用于(自动和值:行){ std::cout#包括 int main(){ int m[][4]={ { 0, 1, 2, 3 }, { 4, 5, 6, 7 }, { 8, 9, 0, 1 }, { 2, 3, 4, 5 }, }; 用于(自动和联机:m){ 用于(自动和值:行){ std::cout#包括 int main(){ int m[][4]={ { 0, 1, 2, 3 }, { 4, 5, 6, 7 }, { 8, 9, 0, 1 }, { 2, 3, 4, 5 }, }; 用于(自动和联机:m){ 用于(自动和值:行){ std::cout#包括 int main(){ int m[][4]={ { 0, 1, 2, 3 }, { 4, 5, 6, 7 }, { 8, 9, 0, 1 }, { 2, 3, 4, 5 }, }; 用于(自动和联机:m){ 用于(自动和值:行){ std::cout
循环的新范围不适用于原始指针类型,因为它们不包含大小信息。如果您在编译时知道它们的长度,可以将它们转换为数组的指针,并在for的范围内使用。这样的代码可能很好使用,但实际使用时使用Arrays 如何将基于范围的循环应用于C++;11? #包括 使用名称空间std; int main(){ int-arr[4]={1,2,3,4}; int arr2[4]={5,6,7,8}; int**arrPtr; arrPtr[0]=arr; arrPtr[1]=arr2; 对于(int*a:arrPtr){ 对于(int i:a){ 不能包含 int main(){ int m[][4]={ { 0, 1, 2, 3 }, { 4, 5, 6, 7 }, { 8, 9, 0, 1 }, { 2, 3, 4, 5 }, }; 用于(自动和联机:m){ 用于(自动和值:行){ std::cout#包括 int main(){ int m[][4]={ { 0, 1, 2, 3 }, { 4, 5, 6, 7 }, { 8, 9, 0, 1 }, { 2, 3, 4, 5 }, }; 用于(自动和联机:m){ 用于(自动和值:行){ std::cout#包括 int main(){ int m[][4]={ { 0, 1, 2, 3 }, { 4, 5, 6, 7 }, { 8, 9, 0, 1 }, { 2, 3, 4, 5 }, }; 用于(自动和联机:m){ 用于(自动和值:行){ std::cout#包括 int main(){ int m[][4]={ { 0, 1, 2, 3 }, { 4, 5, 6, 7 }, { 8, 9, 0, 1 }, { 2, 3, 4, 5 }, }; 用于(自动和联机:m){ 用于(自动和值:行){ std::cout,arrays,pointers,c++11,foreach,Arrays,Pointers,C++11,Foreach,循环的新范围不适用于原始指针类型,因为它们不包含大小信息。如果您在编译时知道它们的长度,可以将它们转换为数组的指针,并在for的范围内使用。这样的代码可能很好使用,但实际使用时使用std::array,std::vector #include <iostream> int main() { for(auto &line : (int [][4]) { { 0, 1, 2, 3 },
std::array
,std::vector
#include <iostream>
int main() {
for(auto &line : (int [][4])
{
{ 0, 1, 2, 3 },
{ 4, 5, 6, 7 },
{ 8, 9, 0, 1 },
{ 2, 3, 4, 5 },
}) {
for(auto &value : line) {
std::cout << value << ' ';
}
std::cout << std::endl;
}
}
#包括
#包括
使用名称空间std;
int main(){
int-arr[4]={1,2,3,4};
int arr2[4]={5,6,7,8};
唯一的arrPtrHolder(新int*[2]);
int**arrPtr=arrPtrHolder.get();
arrPtr[0]=arr;
arrPtr[1]=arr2;
(int*a:*(int*(*)[2])(arrPtr)){
(国际一号:*(国际(*)[4])(a)){
cout循环的新范围不适用于原始指针类型,因为它们不包含大小信息。如果您在编译时知道它们的长度,可以将它们转换为数组的指针并在范围中使用。这样的代码可能很好使用,但实际使用时使用std::array
,std::vector
#include <iostream>
int main() {
for(auto &line : (int [][4])
{
{ 0, 1, 2, 3 },
{ 4, 5, 6, 7 },
{ 8, 9, 0, 1 },
{ 2, 3, 4, 5 },
}) {
for(auto &value : line) {
std::cout << value << ' ';
}
std::cout << std::endl;
}
}
#包括
#包括
使用名称空间std;
int main(){
int-arr[4]={1,2,3,4};
int arr2[4]={5,6,7,8};
唯一的arrPtrHolder(新int*[2]);
int**arrPtr=arrPtrHolder.get();
arrPtr[0]=arr;
arrPtr[1]=arr2;
(int*a:*(int*(*)[2])(arrPtr)){
(国际一号:*(国际(*)[4])(a)){
cout循环的新范围不适用于原始指针类型,因为它们不包含大小信息。如果您在编译时知道它们的长度,可以将它们转换为数组的指针并在范围中使用。这样的代码可能很好使用,但实际使用时使用std::array
,std::vector
#include <iostream>
int main() {
for(auto &line : (int [][4])
{
{ 0, 1, 2, 3 },
{ 4, 5, 6, 7 },
{ 8, 9, 0, 1 },
{ 2, 3, 4, 5 },
}) {
for(auto &value : line) {
std::cout << value << ' ';
}
std::cout << std::endl;
}
}
#包括
#包括
使用名称空间std;
int main(){
int-arr[4]={1,2,3,4};
int arr2[4]={5,6,7,8};
唯一的arrPtrHolder(新int*[2]);
int**arrPtr=arrPtrHolder.get();
arrPtr[0]=arr;
arrPtr[1]=arr2;
(int*a:*(int*(*)[2])(arrPtr)){
(国际一号:*(国际(*)[4])(a)){
cout循环的新范围不适用于原始指针类型,因为它们不包含大小信息。如果您在编译时知道它们的长度,可以将它们转换为数组的指针并在范围中使用。这样的代码可能很好使用,但实际使用时使用std::array
,std::vector
#include <iostream>
int main() {
for(auto &line : (int [][4])
{
{ 0, 1, 2, 3 },
{ 4, 5, 6, 7 },
{ 8, 9, 0, 1 },
{ 2, 3, 4, 5 },
}) {
for(auto &value : line) {
std::cout << value << ' ';
}
std::cout << std::endl;
}
}
#包括
#包括
使用名称空间std;
int main(){
int-arr[4]={1,2,3,4};
int arr2[4]={5,6,7,8};
唯一的arrPtrHolder(新int*[2]);
int**arrPtr=arrPtrHolder.get();
arrPtr[0]=arr;
arrPtr[1]=arr2;
(int*a:*(int*(*)[2])(arrPtr)){
(国际一号:*(国际(*)[4])(a)){
难道那不是数组数组,那只是错误的代码。*arrPtr
不指向任何地方,因此分配给它是非法的。您希望输出8行(4+4)还是16行(4*4)?另外,您知道数组上的工作范围吗?for(int a:arr){我能不能试着不多学习c++11并修改一些指针……我只是试着把下面的所有项目一一打印出来,这不是数组数组,这只是错误的代码。*arrPtr
不指向任何地方,所以分配给它是非法的。您希望输出8行(4+4)还是16行(4*4)?另外,您知道阵列上的工作范围吗?for(int a:arr){我能不能试着不多学习c++11并修改一些指针……我只是试着把下面的所有项目一一打印出来,这不是数组数组,这只是错误的代码。*arrPtr
不指向任何地方,所以分配给它是非法的。您希望输出8行(4+4)还是16行(4*4)?另外,您知道阵列上的工作范围吗?for(int a:arr){我能不能试着不多学习c++11并修改一些指针……我只是试着把下面的所有项目一一打印出来,这不是数组数组,这只是错误的代码。*arrPtr
不指向任何地方,所以分配给它是非法的。您希望输出8行(4+4)还是16行(4*4)?另外,您知道阵列上的工作范围吗?for(int a:arr){我能不能试着不多学习c++11并修改一些指针……我只是试着把下面的所有项目一一打印出来谢谢你的回答,你能解释一下什么是自动引用和引用吗?@Erogol这是c++11的类型推断功能,这样你就不需要在编译器应该已经知道的时候明确地声明类型了你问编译器:你知道它是什么类型的,所以我想要line
和