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(注意点:forward_list不支持递减运算符), it1 == it2, it1 != it2),这样在更换容器的时候很便利。
vector<int> vecInt(); //vecInt中存放着10个0,此时会进行值初始化
vector<int>::iterator itVec = vecInt.begin(); //5.数组中元素的个数也是数组类型的一部分,编译时维度应该是已知的,所以其维度必须是一个常量表达式。
char buff[] = "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.内置类型的下标运算符中的值可以为负数,但是标准库类型限定其使用的下标必须为无符号类型。
C++Primer 第三章的更多相关文章
- C++primer第三章标准库类型
除第二章介绍的基本数据类型外,C++ 还定义了一个内容丰富的抽象数据类型标准库. 本章将介绍标准库中的 vector.string 和 bitset 类型. string 类型支持长度可变的字符串 v ...
- C++ Primer 第三章 标准库类型vector+迭代器iterator 运算
1.vector: 标准库类型vector表示对象的集合,其中所有对象的类型都相同,集合中的每个对象都有一个与之对应的索引,索引用于访问对象.因为vector“容纳着”其他对象,所以它也常被称作容器( ...
- <<C++ Primer>> 第三章 字符串, 向量和数组 术语表
术语表 第 3 章 字符串, 向量和数组 begin: 是 string 和 vector 的成员,返回指向第一个元素的迭代器.也是一个标准库函数,输入一个数字,返回指向该数字首元素的指针. 缓 ...
- C++ Primer 第三章 标准库类型string运算
1. 标准库类型 string string表示可变长的字符序列,使用string必须首先包含string头文件.如何初始化类的对象是由类本身决定的. int n; string s1;//默认初始化 ...
- C++ primer第三章作业
3.1节 练习3.1: 使用恰当的using声明重做1.4.1节(第11页)和2.6.2节(第67页)的练习 #ifdef 1 #include <iostream> using std: ...
- c++primer 第三章编程练习答案
3.7.1 #include<iostream> int main() { using namespace std; ; int height,inch,foot; cout <&l ...
- c++ primer 第三章 标准库类型
1. string 标准库 1.1初始化 string s1; 默认构造函数s1为空 string s2(s1); 将s2初始化为s1的一个副本 string s3("value" ...
- C++ Primer 笔记 第三章
C++ Primer 第三章 标准库类型 3.1using声明 例: using namespace atd; using std::cin; 3.2string类型 初始化方式 string s1 ...
- 《C++Primer》第五版习题答案--第三章【学习笔记】
[C++Primer]第五版[学习笔记]习题解答第三章 ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/10 第三章:字符串,向量和数组 ...
随机推荐
- Rails--default_scope
Example: default_scope where("agents.deleted = ?", false)
- ADO 事务
Ado.Net事务处理.在ADO.NET 中,可以使用Connection 和Transaction 对象来控制事务.若要执行事务,请执行下列操作:• 调用Connection 对象的BeginTra ...
- PHP学习(五)----jQuery和JSON数据
对于jQuery: jQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程.
- 源码分析-mysql
问题: mysql GROUP BY 返回结果 各个字段所在行
- HQL之多表查询(一对多和多对多)
一.一对多 以班级Classes和学生Student为例: 回忆sql语句: //内链接,两种方式效果一样,查询的是两边都有的数据 SELECT c.*,s.* FROM classes c,st ...
- ext在web工程目录导致myeclipse内存溢出问题
分类: Extjs2013-01-24 00:01 2068人阅读 评论(2) 收藏 举报 当在eclipse中的web工程中增加了extjs4,出现An internal error occurre ...
- ExtJS 刷新或者重载Tree后,默认选中刷新前最后一次选中的节点代码片段
//tree对象 var tree = Main.getPageControler().treePanel; //获取选中的节点 var node = tree.getSelectionModel() ...
- java ReentrantReadWriteLock
// read and write lock is mutual exclusion lock //Listing 7-3. Using ReadWriteLock to Satisfy a Dict ...
- lisp分支
newLISP http://www.ituring.com.cn/article/110968 clojure http://clojure.org/ ...
- C# 操作Cookie类
1.Cookie操作类 using System; using System.Data; using System.Configuration;using System.Web;using Syste ...