zoukankan      html  css  js  c++  java
  • 练习3.27、3.28、3.29

    3.27:假设txt_size是一个无参数的函数,它的返回值是int。请回答下列哪个定义是非法的?为什么?

    unsigned buf_size=1024;

    (a)int ia[buf_size];  (b)int ia[4*7-14];

    (c)int ia[txt_size()];  (d)char st[11]=" fundamental ";

    a)非法定义。数组的维度必须是个常量表达式,而buf_size是unsigned类型的。

    b)合法。

    c)非法定义。txt_size是一个普通函数,没有被定义为constexpr.

    d)非法定义,字符数组使用字符串字面值进行初始化时,字符串字面值的结尾空字符也会被拷贝到字符数组中,并占有一个位置。

    3.28:下列数组中元素的值是什么?

    string sa[10];  //定义一个string类型的数组sa,大小为10,其中元素的值均被初始化为空串

    int ia[10];    //定义一个int类型的数组ia,大小为10,其中元素的值均被初始化为0

    int main()

    {

      string sa2[10];  //定义一个string类型的数组sa2,大小为10,其中元素的值被初始化为空串,由于string类本身接受无参数的初始化,所以函数体内还是函数体外都被初始化为空串

      int   ia2[10];  //定义一个int类型的数组ia2,大小为10,其中元素的值如果被拷贝或者直接用来输出的话,将会是未定义的操作,非法操作,其值是未定义的值。

    }

    3.29:相比于vector来说,数组有哪些缺点,请列举一些。

    1)数组的大小是固定的,不能动态地增长。

    2)由于数组的大小固定,所以容易造成内存的浪费。

    3)获取数组大小时不方便。

  • 相关阅读:
    amd 2500 boot设置
    Windows Service开发日志(转载csdn)
    asp网站(asp+access)怎么防注入呢
    重新点亮shell————语法[四]
    重新点亮shell————特殊符号[五]
    Spring AOP及事务配置三种模式详解
    手撸一个IOC容器
    Mybatisplus入门教程
    Spring AOP源码解析
    深入理解Spring IOC容器及扩展
  • 原文地址:https://www.cnblogs.com/Dark-King/p/9413069.html
Copyright © 2011-2022 走看看