C++Primer 第三章

//1.位于头文件中的代码一般不应该使用using声明。这是因为头文件的内容会拷贝到所有引用它的文件中,可能会产生始料未及的命名空间冲突。
//  三种使用命名空间中的名字的方法
    using namespace std;    //最好不要在头文件中使用,容易造成命名空间名字污染,导致命名冲突
    using std::string;
    std::string;

//2.头文件cctype中定义了一组对字符进行操作的函数
//  isalnum(), isalpha(), iscntrl(), isdigit(), isgraph(), isprint(),ispunct(), isspace(), isupper(), isxdigit(), tolower(), toupper()

//3.对于运算符&&来说,只有左侧求值为TRUE,才会继续对右侧求值

//4.在不清楚使用哪种类型的容器的时候,使用迭代器对容器的元素进行操作,并使用迭代器共有的操作(*it, it->men, ++it, --it, it1 == it2, it1 != it2),这样在更换容器的时候很便利。
    vector<int> vecInt(10);                         //vecInt中存放着10个0,此时会进行值初始化
    vector<int>::iterator itVec = vecInt.begin();

//5.数组中元素的个数也是数组类型的一部分,编译时维度应该是已知的,所以其维度必须是一个常量表达式。
    char buff[10] = "szn";    //允许使用一个字符串常量去初始化字符数组    buff是可读可写的
    char *str = "szn";        //最好不要这样使用
    /*
    C++03中的字符串常量const char[N]当具有显而易见的目标类型时,作为一个限定修饰的转换的结果是char*,这是一个废弃条款,已经在C++11中予以废弃,
    就是说,在C++03中,char *tem="szn";是合法的但在C++11中是非法的,C++11必须这样写:const char * tem = "szn";
    在C中,双引号括起来的字符序列不叫字符串常量,它仅仅是字符串字面量,C的字符串字面量并不属于常量,因为C的常量和常量表达式只能是编译期的。C++中的字符串字面量才能称为字符串常量。
    C中的字符串字面量类型是char[N],数组到指针的转换结果为char*,而C++中的字符串常量类型是const char[N],数组到指针的转换结果是const char*。
    */

//6.数组的一个特性:在很多用到数组名的地方,编译器会自动将其替换为一个指向数组首元素的指针,并且此指针会失去所有数组的特性。

//7.C++11新标准引入了两个名为begin(),end()的函数,用法与容器的同名函数类似。可以作用于内置数组。定义在头文件iterator中。

//8.内置类型的下标运算符中的值可以为负数,但是标准库类型限定其使用的下标必须为无符号类型。
时间: 2024-08-27 00:47:44

C++Primer 第三章的相关文章

&lt;&lt;C++ Primer&gt;&gt; 第三章 字符串, 向量和数组 术语表

术语表 第 3 章 字符串, 向量和数组 begin: 是 string 和 vector 的成员,返回指向第一个元素的迭代器.也是一个标准库函数,输入一个数字,返回指向该数字首元素的指针. ?? 缓冲区溢出(buffer overflow): 一种严重的程序故障,主要的原因是试图通过一个越界的索引访问容器内容,容器类型包括 string,vector 和 数组等. ?? C 风格字符串(C-style string): 以空字符结束的字符数组.字符串字面值是 C 风格字符串,C风格字符串容易出

c++primer 第三章编程练习答案

3.7.1 #include<iostream> int main() { using namespace std; const int unit = 12; int height,inch,foot; cout << "please input your height __ inch\b\b\b\b\b\b\b"; cin >> height; inch = height % unit; foot = height / unit; cin.get(

C++ Primer 笔记 第三章

C++ Primer 第三章 标准库类型 3.1using声明 例: using namespace atd; using std::cin; 3.2string类型 初始化方式 string s1 默认构造函数,s1为空串 string s2(s1) 将s2初始化为s1的一个副本 string s3(“value”) 将s3初始化为一个字符串的副本 string s4(n, 'c') 将s4初始化为字符'c'的n个副本 getline读取整行文本 getline接受两个参数:一个是输入流对象和

C++PRIMER 阅读笔记 第三章

本章主要介绍 string vector 和 bitset, 不能贪多,现在本文主要介绍 string 与 vector 头文件中最好不要使用namespace std, 因为头文件会直接被预处理器放置到C中 std::string 的构造方式: string s1; string s2(s1); string s3("value");string s4(n,'c');           第三种构造方式可有"\0"? cout 与 cin 可以直接操作string

C primer plus 练习题 第三章

5. 1 #include <stdio.h> 2 3 int main() 4 { 5 float you_sec; 6 printf("请输入你的年龄:"); 7 scanf("%f", &you_sec); 8 printf("年龄合计:%e 秒!\n", you_sec * 3.156e7); 9 getchar(); 10 return 0; 11 } C primer plus 练习题 第三章

C Primer Plus (第五版) 第三章 编程练习

第三章    数据和C 编程练习: 通过实验的方法(即编写带有此类问题的程序)观察系统如何处理整数上溢.浮点数上溢和浮点数下溢的的情况. #include <stdio.h> int main(void) { /* 16位短整形 */ short int a = 32767; printf("a + 1 = %d\n", (short)(a + 1)); /* 32位整形 */ int b = 2147483647; printf("b + 1 = %d\n&qu

C++ Primer 笔记 第二章

C++ Primer 第二章 变量和基本类型 2.1基本内置类型 有算数类型和void类型:算数类型储存空间大小依及其而定. 算数类型表: 类型 含义 最小储存空间 bool 布尔型 - char 字符型 8 wchar_t 宽字符型 16 short 短整型 16 int 整型 16 long 长整型 32 float 单精度浮点型 6位有效数字 double 双精度浮点型 10位有效数字 long double 扩展精度浮点型 10位有效数字 2.1.1整型 包括整数字符和布尔型. 字符型:

构建之法前三章读后感

一. 软件作为一个产品,在提供用户使用前经历了许多工序,我们用工程的方式将开发软件的工序,过程加以工程化,系统化.成立了一套完整的体系后,有利于帮助我们开发软件,乃至于大型的系统. 软件具有一定的特殊性,使得软件工程师们做开发提升了一定的难度,但软件工程有助于软件系统的开发,帮助工程师们设计,构建,测试和维护软件.所以,软件工程的最终目的是帮助工程师们创造“足够好”的软件,提高软件的质量,用户满意度,可靠性,可维护性等. 第一章问题:怎么才算是一个真正的软件工程师? 二.   一个优秀的软件,通

0320 《构建之法》前三章观后感

第一章.为我们解释什么是软件,什么是软件工程,读完这章对这些概念有一定的认识这章让我明白,代码不能盲目的敲,好的软件并非两三天,并非一两个人就能赶出来的,需要大家的精诚合作.同时,在编写程序之前,还需要做一系列的分析.设计,要满足客户的需求,后续还要对软件进行测试.维护等.在这之前,我一直觉得能把程序运行,能有正确的结果,那就完成任务了,可这只是整个软件流程的一部分而已.看了邹老师的书,才知道其实创新有很多的方面,除了技术,还有商业思路,差异化等等,这些都给了我很大的感触,作为一名程序员,我们不