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 · 102 阅读 · 0 评论 -
处理string对象中的字符
获取单个字符 1、范围for for(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 · 98 阅读 · 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 · 88 阅读 · 0 评论 -
auto和decltype
auto 一般忽略顶层const const int i; auto a=i; //a为int类型,不会推导出常量,忽略顶层const const 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 · 77 阅读 · 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 · 583 阅读 · 0 评论 -
指定字面值的类型
原创 2021-03-10 17:44:55 · 143 阅读 · 0 评论 -
带符号类型和不带符号类型
带符号类型和不带符号类型的char 尽管字符型有三种char、signed char、unsigned char,需要注意的是char和signed char并不一样,尽管字符型有三种,但是表现形式只有两种:带符合的和不带符合的,char类型会表现为上述两种形式的一种,具体哪种由编译器决定 ...原创 2021-03-10 15:38:48 · 422 阅读 · 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 · 499 阅读 · 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 · 97 阅读 · 0 评论 -
输入输出运算符的连等原理
输入输出运算符的连等原理输入输出运算符 输入输出运算符 输入运算符>>的运算对象为两个,左侧为istream对象,如cin;右侧为存入对象,运算符》〉从给定的istream对象中读入数据,存入对象中。而输入运算符能实现连等的原因是它的返回值还是istream对象 int s1,s2; cin>>s1>>s2; //(cin>>s1)>>s2; 简单理解就是,把>>看成是一个函数的函数名,istream operator>>原创 2021-03-09 13:00:13 · 206 阅读 · 0 评论