c++第十七天

p101~p104:

1、数组中的元素个数也属于数组类型的一部分。

2、编译的时候数组的维度应该是已知的,也就是说维度必须是 const expression

3、const expression 是指值不会改变并且在编译过程就能得到计算结果的表达式。

4、不存在引用的数组,但是存在数组的引用。

5、在使用数组下标的时候,通常将其定义为 size_t类型

6、数组所用的下标运算符是由 C++语言直接定义的。

7、编译器不会检查下标是否越界!

练习3.27

(a)非法。buf_size 不是一个常量表达式
(b)合法。
(c)当 txt_size()是 constexpr 时正确;否则错误
(d)非法。没有空间可存放空字符!

练习3.28

全局变量被初始化为 null或 0,
而局部变量的值是未定义的。

练习3.29
相比于 vector来说:
1)数组的初始化不灵活。(必须提供一个常量表达式)
2)数组的容量无法动态改变。

练习3.30
访问非法内存区域。元素ia[10]是未定义的,

int iap[10]仅定义了下标0到9的元素。

练习3.31

int main()
{
    int arr[10];
    for (int i = 0; i < 10; ++i) {
        arr[i] = i;
    }
    return 0;
}

练习3.32

1

int main()
{
    int arr[10];
    for (int i = 0; i < 10; ++i) {
        arr[i] = i;
    }
    int arr2[10];
    for (int i = 0; i < 10; ++i) {
        arr2[i] = arr[i];
    }
    return 0;
}

2

#include<vector>
using std::vector;
int main()
{
    vector<int> ivec;
    for (int i = 0; i < 10; ++i) {
        ivec.push_back(i);
    }
    vector<int> ivec2 = ivec;    // 参考p88
    return 0;
}

练习3.33

#include<iostream>
using std::cin;
int main()
{
    unsigned scores[11];
    unsigned grade;
    while (cin >> grade) {
        if (grade <= 100) {
            ++scores[grade/10];
        }
    }
    for (auto x: scores) {
        std::cout << x << std::endl;
    }
}

运行的结果就是

D:\labs>prog1
2
3
4
5
^Z
4199108
4199104
0
4200976
6422240
6422296
6422476
1983763024
1362710793
4294967294
1983738842
时间: 2025-01-02 04:37:29

c++第十七天的相关文章

Python之路【第十七篇】:Django【进阶篇 】

Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user='root', db='wupeiqidb', passwd='1234', host='localhost')

QT开发(二十七)——QT常用类(一)

QT开发(二十七)--QT常用类(一) 一.QString 1.QString简介 QString提供了Unicode编码的字符串,使用隐式共享技术来节省内存和不必要的数据拷贝,不必考虑跨平台的兼容性. QString类成员函数中除了 ascii().latin1().utf8().local8Bit()函数,其他所有的函数都是可重入的. 2.QString成员函数 QString::QString ( const QChar * unicode, int size ) QString::QSt

软件工程第十七周学习进度条

时间 学习花费时间 (小时) 代码量(行) 博客量(篇) 了解到的知识点 不足 第十七周 周一 (8.00-9.50)上课 周三.周四下午:继续团队项目,完成团队项目的相关作业 215 4    

centos samba/squid 配置 第二十七节课

centos  samba/squid 配置  第二十七节课 上半节课 下半节课 一. samba配置1. 什么是sambaSamba服务类似于windows上的共享功能,可以实现在Linux上共享文件,windows上访问,当然在Linux上也可以访问到.是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务. 注意:smb侦听端口:139  和  445  端口 2. 安装配置samba yum install -y samba samb

【白话经典算法系列之十七】 数组中只出现一次的数 其他三次

本文地址:http://blog.csdn.net/morewindows/article/details/12684497转载请标明出处,谢谢. 欢迎关注微博:http://weibo.com/MoreWindows 首先看看题目要求: 数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次.请给出最快的方法找到x. 这个题目非常有意思,在本人博客中有<位操作基础篇之位操作全面总结>这篇文章介绍了使用位操作的异或来解决——数组中其他数字出现二次,而x出现一次,找出x.有<

17. 蛤蟆的数据结构进阶十七排序实现之归并排序

17. 蛤蟆的数据结构进阶十七排序实现之归并排序 本篇名言:"人生不是一种享乐 ,而是一桩十分沉重的工作.-- 列夫 . 托尔斯泰" 我们来看下归并排序. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/47790163 1.  归并排序 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用.将已有序的子序列合并,得到完全有序的序列:即先使每个

个人:构建之法第十七章读后感

第十七章在开始讲一个项目中的三个角色: 猪:项目的所有者,成功了是最大收益者,失败了最大损失者 鸡:项目的参与者,成功了得到应得的酬劳,失败了也没什么损失 鹦鹉:项目的外援 这一节应该是给“猪”说的,猪需要弄清团队成员投入/承诺/责任,这很重要,也是猪的责任. 分配好角色后,完成项目的过程也会有各种各样的问题: 在做事上会分为:做事的,不做事的,不让别人做事的,做假事的,假装做事的 项目完成后,如何分配利益又是一个问题:比资历?平均?比效率?团队互评?比犯得过错? 书中提出的解决办法: 20%给

第十四——十七章作业

                                                                                                     第十四章 15.3.1 有些成功人士或公司认为不需要独立的测试角色(Test),你怎么看? 在一些软件公司中,QA的工作中包含了Test的角色,负责验证程序是否符合预先设计的功能和特性.但是QA的工作量是很多的,一个好的QA不仅需要对程序架构有着很好的理解,对程序功能和性能都有着较深的理解,并且要

从零开始学android&lt;使用嵌套布局实现计算器界面.十七.&gt;

所谓的嵌套布局就是在一个文件中嵌套多个布局文件 <span style="font-size:18px;"> <LinearLayout android:layout_width="match_parent" android:layout_height="fill_parent" android:orientation="vertical" > <FrameLayout android:layou

蔡先生论道大数据之(十七) :全民动员

数据化运营讨论(3) 2010年和2013年分别提出各自的数据化运营的战略方针,大数据的运营时代已经来到,而如何整合海量数据成为关键任务. 业内,对数据化运营的定义有区别,但核心和要素都是一样的,那就是"以大数据分析挖掘为基础支撑企业以更加精细化的运营制度和战略". 落实到具体就是针对运营.销售.客服部门的线上线下的数据分析支持.举个例子,在互联网企业,运营部门就要通过"日志监控""流量监控分析"."目标用户行为监控分析".&