C++ primer基础知识
学习心得笔记
h52013141
这个作者很懒,什么都没留下…
展开
-
定义和初始化vector
定义和初始化vector//c++11标准的列表初始化,可能编译器要加上-std=c++11 vector<int> num{1,2,3,4,5}; vector<int> a(10,1);//10个1 vector<int> a(10);//10个0,int默认为0 vector<string> a{"a","f"};//两个元素a,f vector<string> a{10};//10个空串 vector<st原创 2021-03-17 16:44:45 · 74 阅读 · 0 评论 -
处理string对象中的字符
获取单个字符1、范围forfor(auto a:word)2、下标运算符[ ]看成数组3、迭代器头文件cctype处理字符的函数 isalnum(c) 字母或数字为真 isalpha(c) 字母为真 isdigit(c) 数字为真 iscntrl(c) 控制字符为真 islower(c) 小写为真 isupper(c) 大写为真 isxdigit(c) 十六进制数字为真 isprint(c) 可打印字符 ispunct(c) 标点符号 is原创 2021-03-17 14:50:03 · 72 阅读 · 0 评论 -
标准库string的一些细节概念
拷贝初始化和直接初始化string s1="hiya";//拷贝初识化,实际如下//string tmp="hiya";//string s1=tmp;//直接初始化string s2("hiya");getline函数string word;getline(cin,word)//参数为一个输入流和一个string对象,遇见换行符结束并返回结果字面值与string对象相加string s5=s1+","+"world";//正确,(s1+",")+"world" //(s1原创 2021-03-17 13:26:11 · 69 阅读 · 0 评论 -
auto和decltype
auto一般忽略顶层constconst int i;auto a=i; //a为int类型,不会推导出常量,忽略顶层constconst auto b=i;//b为const int类型decltype解引用和括号int b,*I=&b;decltype (*i) c;//c为int &decltype ((b)) d;//d也为int &;...原创 2021-03-15 16:18:43 · 52 阅读 · 0 评论 -
指针的类型别名
指针、常量和类型别名在C++中,我们知道一般可以使用typedef进行类型的重命名,如typedef int a; 这时可以用a来代替int进行变量的声明,如a num;num此时为整型变量。在C++11标准中,可以使用using a=int进行重命名需要注意加上const的指针重命名using char*=pstring;const pstring cstr;此时cstr是一个指向char的常量指针,指针不能改变,而指针指向的对象可以改变。不能理解为替换成const char * cs原创 2021-03-15 12:41:25 · 525 阅读 · 0 评论 -
指定字面值的类型
原创 2021-03-10 17:44:55 · 121 阅读 · 0 评论 -
带符号类型和不带符号类型
带符号类型和不带符号类型的char尽管字符型有三种char、signed char、unsigned char,需要注意的是char和signed char并不一样,尽管字符型有三种,但是表现形式只有两种:带符合的和不带符合的,char类型会表现为上述两种形式的一种,具体哪种由编译器决定...原创 2021-03-10 15:38:48 · 392 阅读 · 0 评论 -
getline()函数以及跳出while(cin>>n)循环
C++ Primer 1.22习题困惑解答#include <iostream>#include <sstream>#include <string>#include "Sales_item.h"using std::cin;using std::cout;using std::endl;using std::string;using std::istream;using std::ifstream;using std::ofstream;us原创 2021-03-10 13:37:54 · 469 阅读 · 0 评论 -
文件重定向
文件重定向引入文件的原因一行一行的输入太麻烦,以c++ primer 1.21习题为例:将相同isbn书的数量和价钱进行整合#include <iostream>#include "Sales_item.h"using std::cin;using std::cout;using std::endl;int main(){ Sales_item s1,s2; cin>>s1>>s2; if(compareIsbn(s1,s2原创 2021-03-09 16:21:02 · 71 阅读 · 0 评论 -
输入输出运算符的连等原理
输入输出运算符的连等原理输入输出运算符输入输出运算符输入运算符>>的运算对象为两个,左侧为istream对象,如cin;右侧为存入对象,运算符》〉从给定的istream对象中读入数据,存入对象中。而输入运算符能实现连等的原因是它的返回值还是istream对象int s1,s2;cin>>s1>>s2;//(cin>>s1)>>s2;简单理解就是,把>>看成是一个函数的函数名,istream operator>>原创 2021-03-09 13:00:13 · 169 阅读 · 0 评论