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 第三章:字符串,向量和数组 ...
随机推荐
- enhance convenience rather than contribute to the fundamental power of the language
Computer Science An Overview _J. Glenn Brookshear _11th Edition Universal Programming Languages In ...
- Java单链表的实现
将结点Node进行封装,假设Node的操作有增加,删除,查找,打印几个操作.将Node实现为链表Link的内部类,简化代码. package Chapter5; import java.securit ...
- Windows与Linux共享文件夹互相访问
[原文] 首先安装并配置软件samba [html] view plain copy sudo yum install samba samba-client vim /etc/samba/smb.c ...
- Java List 如何传值
// 合并 List 中的相同数据行 // Source : tmpOrderEntryListBeanList // Target : resultOrderEntryListBeanList // ...
- SQL Server 触发器【转】
触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. Ø 什么是触发器 触发器对表进行插入.更新.删 ...
- spring容器IOC创建对象<二>
问题?spring是如何创建对象的?什么时候创建对象?有几种创建方式?测试对象是单例的还是多例的 ?对象的初始化和销毁? 下面的四大模块IOC的内容了!需要深刻理解 SpringIOC定义:把对象的创 ...
- ADB not responding. If you'd like to retry, then please manually kill "adb.exe" and click 'Restart'
ADB not responding. If you'd like to retry, then please manually kill "adb.exe" and click ...
- Celery - Best Practices
If you've worked with Django at some point you probably had the need for some background processing ...
- 【转】github更新自己Fork的代码
github更新自己Fork的代码 时间 2014-03-02 23:25:55 micmiu - 软件开发 原文 http://www.micmiu.com/software/build/git ...
- .net中如何使用cookie
比如建立一个名为aspcn,值为灌水小鱼的cookie HttpCookie cookie = new HttpCookie["aspcn"];cookie.Value = &qu ...