博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(7)第3章的开始
阅读量:4460 次
发布时间:2019-06-08

本文共 1928 字,大约阅读时间需要 6 分钟。

第二章介绍的内置类型是由C++语言直接定义的。这些类型,比如数字和字符,体现了大多数计算机硬件本身具备的能力,标准库定义了另外一组更具有更高级性质的类型,它们尚未直接实现到计算机硬件中————————————————————这段没看懂,P74

 

命名空间的using声明(头文件最好不用using声明)

std::cin

=编译器从作用域操作符(::)左侧名字所示的作用域中寻找右侧那个名字=要使用命名空间std中的名字cin。

 

每次使用cin都要声明std很繁琐,现在介绍一种最安全的方法:using声明(后面还会介绍另一种)

using std::cin;

=using声明,当我们使用名字cin时,从命名空间std中获取她(要注意,每个名字都需要独立的using声明!)

关于格式,和普通的声明变量不太一样:

using std::cout,std::cin;           //error

using std::cin;using std::cout;using std::endl; // Ture

 

 

标准库类型string

string是可变长的字符序列,其定义在std命名空间。

note:C++标准对库类型所提供的操作做了详细规定(意味着有最好的使用指南,不需要你去猜),另一方面也对库的实现者做出一些性能上的需求(这些实现者基本上是领域牛人,可以基本相信),因此,标准库类型对于一般应用场合来说有足够效率(注意,只是效率,别的兼容性什么的不是重点)

初始化方法:

 

#include 
#include
using std::cout; using std::endl;using std::string;int main(){ //默认初始化,s1=空串 string s1; cout << s1 << endl; //s2是s1的副本,si是空串所以s2也是空串 string s2(s1); cout << s2 << endl; //和s2的初始化一样,只不过s2是用初始化列表初始化的 string s3 = s1; cout << s3 << endl; //s3是字面值value的副本(value这个字面值最后那个空字符没有拷贝到s4). string s4("value"); cout << s4 << endl; //等价于s4的初始化,只不过s4是初始化列表初始化的。 //不能用花括号初始化列表初始化string string s5 = "value"; cout << s5 << endl; //s6初始化为连续10个字符c组成的串 string s6(10, 'c'); cout << s6 << endl; system("pause"); return 0;}

这有2个疑问,s4有没有一个空字符在最后面(即s4里有的空字符不一定是复制过去的而是定义时自己加的)?string定义的字符串末尾都有空字符?

/*验证:*1.是否string定义的字符串都有一个空字符在最后*2.拷贝初始化后,虽然没有拷贝最后的空字符,但是该初始化后是否还是会自己加上一个空字符*/#include 
#include
using std::cout; using std::endl;using std::string;int main(){ //验证1——结果是确实有一个空字符在最后 string s1 = "abc"; cout << s1[0] << s1[1] << s1[2] << "——" <
<< "——" <

我们规定:

使用等号初始化一个变量,编译器把等号右侧的初始值拷贝到新创建的对象中去,这种操作称为拷贝初始化(copy initialization)

不使用等号的称为直接初始化(direct initialization)。

 

今天买的《Head First HTML与CSS》、《CSS权威指南》、《HTML5权威指南》到手了,以及图书馆借了《HTML5实战》。把这些书都翻了翻目录和开头一点内容,准备开始白天C++,晚上学前端的生活咯~

打算先把《Head First HTML与CSS》、《HTML5权威指南》交替着看完,然后开始看《HTML5实战》、《CSS权威指南》。这四本看完估计早毕业了~

  

 

转载于:https://www.cnblogs.com/wuduojia/p/7654464.html

你可能感兴趣的文章
mongodb安装4.0(rpm)
查看>>
DispatcherServlet的url mapping为“/”时,对根路径访问的处理
查看>>
备忘pwnable.kr 之passcode
查看>>
好久没敲代码了,手有点生——一个小小的时钟
查看>>
运算符 AS和IS 的区别
查看>>
(转)详解C中volatile关键字
查看>>
easyui时的时间格式yyyy-MM-dd与yyyy-MM-ddd HH:mm:ss
查看>>
专题:动态内存分配----基础概念篇
查看>>
Codeforces Round #426 (Div. 2) (A B C)
查看>>
The Most Simple Introduction to Hypothesis Testing
查看>>
UVA10791
查看>>
P2664 树上游戏
查看>>
jQuery 停止动画
查看>>
Sharepoint Solution Gallery Active Solution时激活按钮灰色不可用的解决方法
查看>>
MyBatis Generator去掉生成的注解
查看>>
教你50招提升ASP.NET性能(二十二):利用.NET 4.5异步结构
查看>>
lua连续随机数
查看>>
checkstyle使用介绍
查看>>
history.js 一个无刷新就可改变浏览器栏地址的插件(不依赖jquery)
查看>>
会了这十种Python优雅的写法,让你工作效率翻十倍,一人顶十人用!
查看>>