我的机子用Xcode,单位是字节
0开头为8进制
0x为16进制
cout默认输出的是10进制
wchar_t 宽字节,它是一种足够大的整形类型,可以用来表示的是比如中文的编码
c常量一旦被定义,就不能被修改(const)
浮点数,c++中浮点数在计算内存中由两部分组成,一部分为基数,一部分用来表示浮点,这个浮点是用二进制来表示。
非常大或者非常小的数可以用e表示法来表示
这个程序充分说明了精度的问题,double能保存更高的精度。对于c++来说float只能保存6位有效数字,如果需要更高的精度,使用double。  在默认情况下,浮点数的类型是double。
涉及不同类型的数进行运算,首先会把精度小的数转化为精度大的数。
auto 相当于var类型
尽量让编译器去计算元素数目更为安全。数组比字符串长,没有什么害处。
’s’ 和 “s”的区别, ’s’是一个单字符,代表一个ASCII码,而”s”代表2个字符’s’和'\n’。
使用cin中的get()或者getline(),getline()读取一条语句。
可以用数组的访问形式来访问string类型。
区别字符数组和string之间操作之间的差别。
对字符数组来说用在<cstring>类中得strcpy,strcat,strlen来进行复制和连接作用。
string的大小可以自动调整,也就是说可以在一个string类型变量后面不断加上字符串
而字符数组不行。
对于字符型数组来说,如果未被定义就使用strlen方法来数组长度的话,可能与字符数组定义的长度不一。strlen从数组的第一个元素开始计算字节数,直到遇到空字符。对于未被初始化的数组,空字符的出现是随机的,所以得到的数组长度可能与定义的不同
struct ,union  的区别
union一次只使用一个成员变量,即成员变量是在一块内存中的。
枚举类型的取值范围是大于最大值的最小2的幂减一。
double占用8个字节 int  float4字节(我的)
在指针使用的时候特别注意下面的情况
这里说明的是指针初始化后,给地址分配了内存空间,但是他的值的内容并没有分配空间,所以直接使他的内容为单值是错误的。
数组其实和指针有很大的联系,数组可以看作一个指针,数组定义后,可以用指针的操作符去操作数组,
cout 和cin对于指针的使用,对于字符数组和字符串传入的是一个地址,而且是首个字符的地址。
所以cout<<ps-----可以打印他们的值,如果要显示他们的地址则cout<<(int *)ps ,这个时候才会打印ps指针和字符串的地址。
但是对于值类型来说,如 int *p cout<<p 则打印的是p的地址。
chark[]="helloworld";
   char* ps=newchar(strlen(k)+1);
strcpy(ps,k);
创建新的副本
用strcpy和strncpy来将字符串赋值给数组。
这里相当于c#里的foreache语句,对于要改变数组值的地方用&x,而输出的话直接x;
EOF的使用xcode 是用ctrl+d的组合。
c++中将一指针数组初始化为一组字符串常量;
cin>>c;这个表达式也会有一个返回值,比如c是整型的,但是输入的却是个字符串,则返回false,输入的字符串还是保存在缓存区。
c++函数无法返回一个字符串 所以只能返回他的地址
这时候 函数中要创建一个新的指针变量 长度为字符串的长度加1 最后一位赋值为n+1
//c++函数指针——指正需要都用小括号括起来
double calculate(double x,double y,double (*p)(double,double)){
return p(x,y);
}
c++的泛型方法当有个特殊类型需要特殊对待的时候可以采取
template<> char * maxn<char *>(char * arr[],int arrSize)
的显示声明。
chaff *sc= new (buffer) chaff [2]; //method 1----在buffer的第一个元素内存上创建,buffer是个数组,这两个元素共用一个存储空间
对于一个事物存在多种状态,通常都是通过声明一个public的枚举,再在私有属性中添加个对象来表示不同的状态,比如坐标的直角坐标和极坐标
对于赋值运算符的重载,在构造函数中如果有new运算符,这这里需要先清除当前的内存,然后再进行赋值操作
3. 模板类型:
模板类型不是一种实类型,它必须等到类型绑定后才能确定最终类型,所以在实例化一个模板时,必须要能够让编译器“看到”在哪里使用了模板,而且必须看到模板确切的定义,而不仅仅是它们的声明,都则不能顺利地产生编译代码。因此,标准会要求模板的实例化与定义体放到同一编译单元中。

虚基类的作用:
多继承的基础上,使多层继承的子类所继承的相同的方法都来自基类

转载于:https://www.cnblogs.com/KyleRuan/p/4322399.html

c++ primer plus 学习笔记相关推荐

  1. 整理:C primer plus 学习笔记

    前言:简单看了一遍C Primer Plus, 整理了一下,因为时间比较少,自己理解地比较肤浅,所以第一版比较简陋. 假期的时候应该会有时间再整理一下.------2018/11/5 2019/1/2 ...

  2. C++ Primer Plus 学习笔记(第 4 章 复合类型)

    C++ Primer Plus 学习笔记 第 4 章 复合类型 数组 数组(array)是一种数据格式,能够存储多个同类型的值. 要创建数组,可使用声明语句.数组声明应指出以下三点: 存储在每个元素的 ...

  3. C++ Primer Plus学习笔记之类和动态内存分配

    前言 个人觉得学习编程最有效的方法是阅读专业的书籍,通过阅读专业书籍可以构建更加系统化的知识体系. 一直以来都很想深入学习一下C++,将其作为自己的主力开发语言.现在为了完成自己这一直以来的心愿,准备 ...

  4. C++ Primer Plus学习笔记之函数探幽

    前言 个人觉得学习编程最有效的方法是阅读专业的书籍,通过阅读专业书籍可以构建更加系统化的知识体系. 一直以来都很想深入学习一下C++,将其作为自己的主力开发语言.现在为了完成自己这一直以来的心愿,准备 ...

  5. 《C++ Primer》学习笔记

    这次一定要完整学完 2022/8/24 像编辑器一样思考和理解C++ C++的编程风格:C风格.基于对象.面向对象.泛型和基于组件. 初学建议<C++Primer>和<C++标准程序 ...

  6. 090518-C++primer 4th学习笔记:1.3节

    1.3 C++程序的注释   注释是为了帮助其他人读懂你的程序.注释一般用来简要概述一个算法,标明一个变量的用途,或者解释一段不容易读懂的程序段.注释会在被编译器忽略,所以不会增加可执行程序的大小. ...

  7. 《C++Primer》学习笔记(6-10章)

    第六章 语句 1. if (int i = 3) // i转化成bool值true; 迄今为止,在所有用过的类型中,IO类型可以用作条件,vector和string类型一般不可用作条件 上面,出了if ...

  8. C++primer plus学习笔记

    第一章 预备知识 1.1 C++简介 C++融合了3种不同的编程方式: C语言代表的过程性语言 C++在C语言基础上添加的类代表面向对象语言 C++模型支持的泛型编程 C++继承C语言高效.简洁.快速 ...

  9. C++ primer plus学习笔记 (3) _函数

    常量指针与指向常量的指针 const int* p;//p先和*结合,const修饰的是 *p,也就是指针指向一个常量(只是说不可以通过指针来改变它) int* const p = &slot ...

最新文章

  1. Oracle11g服务详细介绍及哪些服务是必须开启的?
  2. python不及格_10 个 Python 工程师,9 个不合格!!
  3. 转:EXCEL数据有效性设置
  4. 《软件需求分析(第二版)》第 12 章——需求确认 重点部分总结
  5. css3缩放 transform: scale() 使用缩放之后顶点对齐问题
  6. 目标检测无痛涨点之 Generalized Focal Loss V2
  7. 虚拟机变更网卡MAC地址后的网络连接
  8. 【jQuery笔记Part3】02-jQuery抖动效果
  9. EthBox以太坊开发套件,一键安装部署以太坊开发环境
  10. linux中的命令ls -1,Linux常用命令 ls 入门基础知识
  11. P2114 起床困难综合症
  12. c# 的取负数_在C#中将正数转换为负数
  13. 华为和荣耀的关系:亲兄弟,各自为王
  14. 四万字 Lambda 表达式完整教程(强烈建议收藏)
  15. 修改自己电脑连接的路由器的配置网址192.168.1.1
  16. xliff:g标签介绍:
  17. 阿里巴巴“三板斧”管理到底是什么?
  18. word双引号间距大_Word 2013双引号的BUG
  19. How to Be a Successful PhD Student
  20. c++ -- 析构函数

热门文章

  1. 2021年USNews美国研究生院排名重磅出炉!!!
  2. SAP MM UB类型STO不能转供应商寄售库存?
  3. SAP零售业解决方案
  4. SAP 物料主数据里的Commodity Code
  5. 预训练后性能反而变差,自训练要取代预训练了吗?
  6. SAP SD基础知识之流程概览
  7. 代码详解:最全面的卷积神经网络介绍,都在这里了
  8. 迁移学习全面指南:概念、项目实战、优势、挑战
  9. 机器学习中的特征——特征选择的方法以及注意点
  10. 深度学习框架的内存优化机制