![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
中年脑淤血
千里之行始于足下!!!
展开
-
C++迭代器中 cbegin,cend 与 begin,end 的区别
cbegin和cend是C++11新标准引入的两个函数。begin和end换回的具体类型由对象是否是常量来决定,如果是常量,begin和end换回const_iterator;如果不是常量,换回iterator;cbegin和cend是不管是对象本身是不是常量,换回值都是const_iterator.下面通过容器说明:vector<int> v;const vector<...原创 2019-07-06 10:15:29 · 13233 阅读 · 3 评论 -
auto与decltype两种数据类型区别与联系
auto与decltype区别:auto类型说明符用编译器计算变量的初始值来推算其类型,decltype虽然也让编译器分析表达式得到它的类型,但是并不计算表达式的值。编译器推算出来的auto类型有时候和初始值的类型并不完全一样,编译器会适当改变结果类型使其更符合初始化规则。比如,auto一般会忽略顶层const,而把底层const保留下来。decltype会把顶层const保留下来。dec...原创 2019-06-26 14:31:29 · 264 阅读 · 0 评论 -
使用类型别名的声明语句(typedef)时,错误的理解尝试把类型别名替换本来的样子
例子:#include <iostream>int main(){ typedef char *pstring; const pstring ps = 0; //错误理解为 const char *ps; return 0;}对比说明:const pstring psconst char *ps数据类型const char *const...原创 2019-06-26 09:23:27 · 261 阅读 · 0 评论 -
C++中声明与定义的关系
C++支持分离式编译机制,允许将程序分割为若干个文件,每个文件都可以独立编译。声明使得名字为程序所知,一个文件如果想使用别去的定义的名字则必须包含对那个名字的声明。定义负责创建于名字关联的实体。变量声明规定了变量的类型和名字,这一定和定义与之相同,但定义申请了存储空间。extern int i; //声明i而非定义iextern int i = 1; //定义...原创 2019-06-10 21:33:20 · 142 阅读 · 0 评论 -
C++基础学习(十)标准输入输出流
文章目录1 标准的输入流2 输入流案例3 标准输出流4 文件读写操作4.1 写文件4.2 读文件1 标准的输入流(1)cin.get 缓冲区中读取一个字符(2)cin.get(两个参数) 不读换行符(3)cin.getline()读取换行 并且扔掉(4)cin.ignore(n) 忽略(n)n代表忽略字符数(5)cin.peek() 偷窥 偷看1个字符然后放回去(6)cin.putb...原创 2019-04-19 15:40:58 · 264 阅读 · 0 评论 -
C++基础学习(六)继承和派生
1 派生类定义1 派生类定义格式:class 派生类:继承方式 基类名{ //派生类新增的数据成员和成员函数}2 继承方式总结:继承方式publicprotectedprivatepublicpublic还是publicprotected还是protectedprivate还是privateprotectedpublic变成protecte...原创 2019-04-03 14:51:36 · 157 阅读 · 0 评论