- 博客(12)
- 收藏
- 关注
原创 C/C++知识点复习笔记18/3/12
union:当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union);它有以下特点:1.它是一个结构;2.它的所有成员相对于基地址的偏移量都为0;3.此结构空间要大到足够容纳最"宽"的成员;4.其对齐方式要适合其中所有的成员#pragma pack 字节对齐...
2018-03-12 22:49:38 108
原创 C/C++知识点复习笔记18/3/10
inline函数中如果有局部变量,同时,传参给inline函数时使用表达式传参,这样,编译器在处理时会产生很多临时对象,当inline函数多次被调用时,会产生大量的扩展码,从而增加程序大小;如果inline函数被编译器接受,同时又没有产生以上这些副作用,那么同非内联函数相比,inline函数是用函数体直接替换,省去了函数调用的开销,加快程序执行速度;内联函数改善了函数调用的执行效率;友元是单向的;...
2018-03-11 00:10:08 126
原创 C/C++知识点复习笔记18/3/9
正数的补码就是其本身负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1一个C++语言程序是由 函数组成struct和union都有内存对齐,结构体的内存布局依赖于CPU、操作系统、编译器及编译时的对齐选项任何同一时刻, union中只存放了一个被选中的成员, 而struct的所有成员都存在不可以同时用const和static修饰成员函数指针是一个新的变量,只是这个变量存储的是另...
2018-03-09 23:51:47 113
原创 C/C++知识点复习笔记18/3/8
初始化和赋值是不同的概念;char p[]="hello world";和char *p="hello world"的区别;前者存放在栈里,后者存放在静态区;#define宏定义中换行需添加续行符'\'定义:int x = 0,﹡p;因为p无指向地址所以不能对*p赋值;类的大小只与成员变量(非static数据成员变量)和虚函数指针有关,还要考虑到对齐;...
2018-03-08 23:22:09 97
原创 C/C++知识点复习笔记18/3/7
#include<stdio.h>char *myString(){ char buffer[6] = {0}; char *s = "Hello World!"; for (int i = 0; i < sizeof(buffer) - 1; i++) { buffer[i] = *(s + i); } return buffe...
2018-03-08 00:11:26 248
原创 C/C++知识点复习笔记18/3/6
new 和 malloc 的区别1.属性new/delete 是 C++ 关键字,需要编译器支持。malloc/free 是库函数,需要头文件支持。2.参数使用 new 操作符申请内存分配时无须指定内存块的大小,编译器会根据类型信息自行计算。而 malloc 则需要显式地指出所需内存的尺寸。3.返回类型new 操作符内存分配成功时,返回的是对象类型的指针,类型严格与对象匹配,无须进行类型转换,故 ...
2018-03-06 23:09:54 208
原创 C/C++知识点复习笔记18/3/5
Math类中提供了三个与取整有关的方法:ceil,floor,round;1.floor为向下取整;2.cell为向上取整;3.round为四舍五入;类中成员不显示定义属性时,默认为私有,这是和结构体唯一区别所在;运算对象为数字的补码,而不是二进制码。当补码的符号位为1时,说明该补码对应的是负数;正整数的补码是其二进制表示,与原码相同;求负整数的补码,将其对应正数二进制表示所有位取反后加1;已知一...
2018-03-05 23:57:55 128
原创 C/C++知识点复习笔记18/3/4
C语言中的const是运行时const,编译时只是定义,在运行才会初始化。C语言中const变量不能用于成为数组长度等作为编译时常量的情况,原因就在此。C语言const变量在运行时改变了是可以再次读出改变后的值的。C++中,const变量(即常量)值 放在编译器的符号表中 ,计算时编译器直接从表中取值,省去了访问内存的时间,从而达到了优化。类似define C/C++ ,一个数如果要指明它采用八进...
2018-03-04 22:54:05 234
原创 C/C++知识点复习笔记18/3/3
构造函数不能声明为虚函数存储类型1、自动变量auto:函数中所有的非静态局部变量.2、静态变量static:在变量前加上static关键字的变量.3、外部变量extern:一般用作全局变量作用域的扩展(还有定义外部函数的时候前面也可以有一个extern关键字).4、寄存器变量register:一般经常被使用的的变量(如某一变量需要计算几千次)可以设置成寄存器变量,register变量会被存储在寄存...
2018-03-03 22:10:57 227
原创 C++ STL Map使用
Map是STL的一个关联容器数据一对一储存,自动建立key-value对应,可根据key来快速查找记录,时间复杂的Log(N);key,value可以为任意类型;key-value可以快速插入删除;#include <map>map为模板类,创建时需要关键字与储存对象两种模板参数,例 std:map<string,int> teao;数据插入teao.insert(make...
2018-03-02 18:58:58 154
原创 C/C++知识点复习笔记18/3/1
运算符重载时要遵循以下规则:1.除了类属关系运算符"."、成员指针运算符".*"、作用域运算符"::"、sizeof运算符和三目运算符"?:"以外,C++中的所有运算符都可以重载.2.重载运算符限制在C++语言中已有的运算符范围内的允许重载的运算符之中,不能创建新的运算符.3.运算符重载实质上是函数重载,因此编译程序对运算符重载的选择,遵循函数重载的选择原则.4.重载之后的运算符不能改变运算符的优...
2018-03-01 23:42:11 192
原创 C/C++知识点复习笔记18/2/28
二维数组必须指定列的数量,行的数量可以不指定define的宏定义仅仅是直接简单文本替换ifndef/define/endif 的含义:如果未定义 / 那么定义 / 完成假设 同样避免重复引用的#pragma once建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(派生类的成员对象的构造函数)、c(派生类的构造函数) 顺序是abc如果b为基类的成员对象时为bac创建类对象时先调用类成员...
2018-02-28 16:13:48 176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人