• 土地是自然存在的地球的一部分,不是人类劳动成果,没有价值,买房者不应支付土地费,房价之所以虚高,是因为买房者支付了不该支付的土地费。 2019-10-15
  • 月薪过万白领辞职回乡养鸡 亏数十万后回城找工作 2019-10-15
  • 尽管过去计划经济时,由于局限性,工作上有过失误,有过短缺,但没有浪费。不存在笑博士说的做出来的东西无人用的问题。何况那时,主要还是通过人工作的计划。在今天,高科 2019-09-17
  • 即使中美贸易归零,中国也不会屈服美国的大棒政策 2019-09-17
  • 宁夏文联面向全国重奖征文 喜迎自治区成立六十周年 2019-09-10
  • 大兴首开保利·熙悦林语 又一限价房将入市! ——凤凰网房产北京 2019-09-10
  • 大山深处4名孩子的交通安全课 2019-09-06
  • 新疆坚决打好污染防治攻坚战 2019-09-06
  • 分级基金将黯然离场 10只分级B拉响下折“警报” 2019-09-05
  • 刘嘉玲戴礼帽系领带帅过鲜肉 大长腿走路带风霸气在侧漏 2019-09-05
  • 阶级不是“等级差别”,而是私有制基础上剥削和被剥削两大社会集团。 2019-08-28
  • 邮储银行山西省分行零售信贷结余突破200亿元 2019-08-24
  • 智能服装让生活更有趣 2019-08-24
  • 探访广西高考评卷现场:评卷场所警戒线“包围” 2019-08-23
  • 一镜到底绝密视频!10个故事,一个不一样的上合峰会 2019-08-21
  • ac米兰vs桑普多利亚比分预测:C++ Primer ch3 指针和数组

    都灵桑普多利亚关系 www.dqyww.com 2/22/2017来源:ASP.NET技巧人气:9804

    1. 使用数组的时候,编译器一般会把它转换成指针。

    2. auto与decltype在分析数组类型时的区别:

    int a[] = { 1,2,3 }; auto b = a; // 得到的是指针类型int (*p)[3] decltype(a) c; // 得到的是数组类型int [3]

    3. C++11标准库函数begin()和end()

    接受数组作为参数 定义在iterator头文件中 end()返回的是不存在的尾后指针 int a[] = { 1,2,3 }; int *pB = begin(a); int *pE = end(a); // 利用begin和end遍历数组 for (auto p = pB; p != pE; ++p) { cout << *p << ' '; }

    4. 指针相减得到的结果类型是名为ptrdiff_t的标准库类型。

    5. 存在数组 int a[] = {1 , 2 , 3 , 4 , 5}; 当你使用下标对数组元素进行随机访问的时候(比如访问a[2]),其实进行的是这样的操作:

    int *p = a; int val = *(p + 2);

    以此得出,只要指针指向的是数组中的元素,都可以执行下标运算:

    int a[] = { 1,2,3,4,5 }; int *p = &a[2]; int j = p[1]; // j为a[2+1] int k = p[-2]; // k为a[2-2]

    6. C++标准库与旧代码的接口

    // c_str()函数:将string类转换为C风格的字符串 string s = "Hello World!"; const char *s_elder = s.c_str(); //将内置数组的内容复制到vector int a[] = { 0,1,2,3,4,5 }; vector<int> v(begin(a), end(a));

    7. 关于多维数组

    int a[3][4]; int(&row)[4] = a[1];// 将row绑定到a的第二个4元素数组上

    row是行,col是列

    使用C++ 11范围for语句处理多维数组

    int a[3][4]; int ct = 1; for (auto &row : a) { for (auto &col : row) { col = ct++; } }

    注意,无论是否进行读写操作,必须将外层循环的控制变量声明成引用类型,这是避免数组被自动转换为指针。 假如循环写成如下格式:

    for(auto row : a) for(auto col : row){}

    摘自C++ PRimer:

    程序将无法通过编译。这是因为,像之前一样的第一个循环遍历a的所有元素,注意元素实际上是大小为4的数组。因为row不是引用类型,所以编译器初始化row时会自动将这些数组形式的元素转换成指向该数组内首元素的指针。这样得到的row的类型就是int * ,显然内层的循环就不合法了,编译器将试图在一个int * 内遍历,这显然和程序的初衷相去甚远。



  • 土地是自然存在的地球的一部分,不是人类劳动成果,没有价值,买房者不应支付土地费,房价之所以虚高,是因为买房者支付了不该支付的土地费。 2019-10-15
  • 月薪过万白领辞职回乡养鸡 亏数十万后回城找工作 2019-10-15
  • 尽管过去计划经济时,由于局限性,工作上有过失误,有过短缺,但没有浪费。不存在笑博士说的做出来的东西无人用的问题。何况那时,主要还是通过人工作的计划。在今天,高科 2019-09-17
  • 即使中美贸易归零,中国也不会屈服美国的大棒政策 2019-09-17
  • 宁夏文联面向全国重奖征文 喜迎自治区成立六十周年 2019-09-10
  • 大兴首开保利·熙悦林语 又一限价房将入市! ——凤凰网房产北京 2019-09-10
  • 大山深处4名孩子的交通安全课 2019-09-06
  • 新疆坚决打好污染防治攻坚战 2019-09-06
  • 分级基金将黯然离场 10只分级B拉响下折“警报” 2019-09-05
  • 刘嘉玲戴礼帽系领带帅过鲜肉 大长腿走路带风霸气在侧漏 2019-09-05
  • 阶级不是“等级差别”,而是私有制基础上剥削和被剥削两大社会集团。 2019-08-28
  • 邮储银行山西省分行零售信贷结余突破200亿元 2019-08-24
  • 智能服装让生活更有趣 2019-08-24
  • 探访广西高考评卷现场:评卷场所警戒线“包围” 2019-08-23
  • 一镜到底绝密视频!10个故事,一个不一样的上合峰会 2019-08-21
  • 玩龙虎赌博的技巧 天龙国际app靠谱吗 谁知道微信在哪赌钱 天天时时彩软件计划 北京pk10计划手机软件 重庆时时开彩结果官网 彩城3218计划网 在线棋牌下载送10元 重庆时时最新开奖记录 上海彩票软件 炸金花百人场技巧 极速赛车挂 北京pk10官网开奖 时时彩预测家app下载 下载六必中 四川时时app下载手机版下载手机版下载手机版