第4章

1.求数组元素个数的一种方法:num=sizeof 数组名/sizeof (元素类型)

2.确定字符串所需的最短数组时,别忘了将结尾的'\0'计算在内。表面可以无,内存必须有。

3.'S'表示字符常量,"S"表示两个字符(字符S和\0)组成的字符串,"S"实际上表示的是字符串所在的内存地址。在两个字符串常量中加入(空格、制表符和换行符)对整体没有影响

4. strlen()只计算可见的字符长度,而不把空字符计算在内,因此数组的长度不能短于strlen(数组名)+1

5.cin.getline(name,ArSize)与cin.get(name,ArSize)两个函数都是读取一行输入,直到到达换行符,随后getline()丢弃换行符,get()将换行符保留在队列。cin.getline(name,ArSize)==cin.get(name,ArSize).get()

6.string类#include<string>:能实现赋值拼接附加等操作。求长度int len1=str.size();int len2=strlen(str);

7.原始(raw)字符串,字符表示的就是自己。将"( 和 )”用作定界符,如果要表示字符"(,加上"+*(字符)+*"

如:cout << R"(Jim "KIng" Tutt use "\n" instead of endl.)" << '\n';

Jim "King" Tutt use \n instead of endl

cout << R"+*("(Who wouldn't?)",she whispered.)+*" << endl

(Who wouldn't?)",she whispered.

8.共用体的用途之一:当数据项使用两种或多种格式,可节省空间。

9.枚举常被用来定义相关的符号常量,而不是新类型,例如用枚举定义switch语句中使用的符号常量,如:enum{red,orange,yellow,green,blue,violet,indigo}  为0-6

10.int* 是一种类型,指向int的指针

11.指针在运行阶段分配未命名的内存以存储值——new运算符。为一个数据对象(可以是结构,也可以是基本类型)获得并分配内存的通用格式为 typeName* pointer_name = new typeName;

12.delete:不要用delete释放不是new分配(声明变量)的内存,不要用delete释放同一个内存块两次,如果是new[ ]为数组分配内存,则应使用delete[ ]释放

13.数组名被解释为其第一个元素的地址,而对数组名使用地址运算符时,得到的是整个数组的地址

14.使用new来创建数组以及使用指针来访问不同的元素,只要把指针当做数组名对待即可

15.将字符串赋值给数组,只是复制地址,应使用strcpy()或strncpy(),而不是赋值运算符来将字符串赋给数组

16.用new创建(指针类型)动态结构时,不能将成员运算符句点用于结构名,因为没有名称,只是知道地址,应该用箭头成员运算符—>(指针访问结构体内部用箭头)

17.模板类vector和array:#include<vector>  #include<array>

vector可以在运行阶段调整长度,声明方式为vector<typeName> vt(n_elem),其中n_elem为常量变量都可以。

array对象长度固定,声明为array<typeName,n_elem>arr,其中n_elem只能为常量。数组必须逐个元素复制数据,但array对象可以赋给另一个对象

最新文章

  1. jquery获取table的行数、列数
  2. java的VO和PO的用途
  3. ES6新特性:利用解构赋值 (destructuring assignment), 简化代码
  4. Qt之qt4.7 和qt 4.8.4 交叉实践
  5. Integer陷阱(0~127和其他 数值相等对象比较)
  6. 一步一步教你用c# entity framework6 连接 sqlite 实现增删改查
  7. spring boot 集成axis1.4 java.lang.NoClassDefFoundError: Could not initialize class org.apache.axis.client.AxisClient
  8. IE9以及以下不支持jquery ajax跨域问题
  9. SQL 连接(内连接,外连接)
  10. python的切片
  11. eclipse 项目中嵌入jetty
  12. nginx配置反向代理和负载均衡
  13. WPF中应用字体图标
  14. 记住left join最简单的方式(转)
  15. 源码分析篇 - Android绘制流程(一)窗口启动流程分析
  16. Android 用java语言执行Shell命令
  17. Codeforces Round #550 (Div. 3) E. Median String (模拟)
  18. (算法)Binary Tree Max Path Sum
  19. matlab批量修改图片大小
  20. LZO压缩算法64位崩溃问题

热门文章

  1. 吴裕雄 python 神经网络——TensorFlow 数据集基本使用方法
  2. JS 上传图片压缩,原比例压缩
  3. css不起作用报错:Resource interpreted as Stylesheet but transferred with MIME type text/html
  4. 五年C语言程序员,是深耕技术还是走管理?
  5. 软件工程 - Test-Driven Development (TDD),测试驱动开发
  6. 操作系统OS - 重装Windows7卡在completing installation
  7. 4 Action的3种编写方式,pojo,实现和继承(推荐)
  8. 发送邮件#Python
  9. Laravel 6.X + Vue.js 2.X + Element UI +vue-router 配置
  10. 一起探讨Go 语言为什么能成功?