![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++细节
中年脑淤血
千里之行始于足下!!!
展开
-
VC++2017中出现"const char *"类型的实参与"char *"类型的形参不兼容错误的解决方法
在抄写一个程序的时候出现一个这样问题,在我同学电脑上用VS2012编译的时候可以通过,一开始以为是编译器的问题,后来在网上查找发现需要在VS2017中设置一下就可以:在你建立的一个项目下,右击属性找到C/C++,点击语言,接着找符合模式,把"是"改为"否",这样就通过编译了。如图:...原创 2019-03-30 18:12:28 · 2239 阅读 · 1 评论 -
使用类型别名的声明语句(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 评论 -
auto与decltype两种数据类型区别与联系
auto与decltype区别:auto类型说明符用编译器计算变量的初始值来推算其类型,decltype虽然也让编译器分析表达式得到它的类型,但是并不计算表达式的值。编译器推算出来的auto类型有时候和初始值的类型并不完全一样,编译器会适当改变结果类型使其更符合初始化规则。比如,auto一般会忽略顶层const,而把底层const保留下来。decltype会把顶层const保留下来。dec...原创 2019-06-26 14:31:29 · 264 阅读 · 0 评论 -
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 评论