C++拾遗
字符串字面值是一串常量字符(是一个常量),字符串字面值常量用双引号括起来的零个或多个字符表示,为兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空字符。字符串字面值的类型就是 const char 类型的数组。标准库函数 strlen 用于计算 C 风格字符串中的字符个数, 不包括 null 结束符。
C++风格字符串:string
那么string a1=“hello”//这个就是string string a2=a1+"world"//其中a1 是string “world”是字符串字面值
C风格字符串:字符串字面值的类型实质是const char类型的数组。C++从C语言继承下来的一种通用结构是C风格字符串,而字符串字面值就是该类型的实例。
2 关于size_type
标准库类型将size_type定义为unsigned类型
3指针的两种定义方式
4指针赋值和引用赋值的区别
(ps:引用的初始化是一次性的)
int *const curErr = &errNumb; // curErr is a constant pointer
5 符号的结合性
6 多用前置的++
只有在必要时才使用后置操作符(i++),因为这种情况需要先保留原值。
由于后自增操作的优先级高于解引用操作,因此 *iter++ 等效于 *(iter++)。子表达式 iter++ 使 iter 加 1,然后返回 iter 原值的副本作为
7点操作符和箭头操作符
8 new创建
1. new() 分配这种类型的一个大小的内存空间,并以括号中的值来初始化这个变量;
. U* t, v# ~% u
2. new[] 分配这种类型的n个大小的内存空间,并用默认构造函数来初始化这些变量;
9 三种内存管理容易出现的毛病
10 类型转换
dynamic_cast :支持运行时识别指针或引用所指向的对象
const_cast :将转换掉表达式的 const 性质
static_cast: 编译器隐式执行的任何类型转换都可以由 static_cast 显式完成
reinterpret_cast: 通常为操作数的位模式提供较低层次的重新解释
11 if_else 匹配
12 异常处理
13 const
const对象,指向const对象的指针或者引用只能用于调用其const成员函数,如果尝试用它们来调用非const成员函数,则是错误的。
如果使用引用形参的唯一目的就是避免复制实参,则应将形参定义为const引用
不需要修改的引用参数定义为const引用,普通的非const引用形参在使用时不太灵活,这样的形参既不能使用const对象初始化,也不能用字面值或者产生右值的表达式初始化。
14 关于数组作为参数
15 STL
_______________________________________________________________无聊的
分割
面向对象
1 类作用域中名字的查找
函数内——函数外类内部——类外函数定义之前
2构造函数中的初始化式
>>>构造函数初始化式只在构造函数中定义而不是声明中指定
构造函数分两个阶段执行
first: 初始化阶段,指的是“()”初始化列表中初始化
second: 计算阶段,“{ }”,有构造函数体中的所有语句组成
在第二种方式中,是先隐式的使用默认的构造函数来初始化,最后在{}中覆盖····
必须对任何const或者引用类型成员以及没有默认构造函数的类类型的任何成员使用初始化式
3 static ;const; const static三种成员的初始化
class Test
{
public:
Test():a(0){}
enum {size1=100,size2=200};
private:
const int a;//只能在构造函数初始化列表中初始化
static int b;//在类的实现文件中定义并初始化
const static int c;//与 static const int c;相同。
}; int Test::b=0;//static成员变量不能在构造函数初始化列表中初始化,因为它不属于某个对象。
cosnt int Test::c=0;//注意:给静态成员变量赋值时,不需要加static修饰符。但要加cosnt
PS:static函数成员没有this指针,它属于类,不属于这个类的对象
4 explicit关键字
用来防止隐式类型转化
C++拾遗的更多相关文章
- Redis命令拾遗二(散列类型)
本文版权归博客园和作者吴双共同所有,欢迎转载,转载和爬虫请注明原文地址 :博客园蜗牛NoSql系列地址 http://www.cnblogs.com/tdws/tag/NoSql/ Redis命令拾 ...
- 基础拾遗------redis详解
基础拾遗 基础拾遗------特性详解 基础拾遗------webservice详解 基础拾遗------redis详解 基础拾遗------反射详解 基础拾遗------委托详解 基础拾遗----- ...
- unixLike命令拾遗
针对在日常工作过程中,发现的学习的漏洞和忘记的知识,进行拾遗. 编辑命令 一.vim操作 1.进入编辑模式 在光标移到将要编辑处,点击i,进入编辑模式 2.退出编辑模式 按esc或者crtl+c退出编 ...
- 基础拾遗------webservice详解
基础拾遗 基础拾遗------特性详解 基础拾遗------webservice详解 基础拾遗------redis详解 基础拾遗------反射详解 基础拾遗------委托详解 基础拾遗----- ...
- try catch 与 throw拾遗
今天在微软虚拟学院看到的代码: var b = 0; try{ if (b == 0) { throw('NO NO!!'); } else { alert('OK OK'); }} catch(e) ...
- [python拾遗]异常处理
异常 异常(Exception)是因为程序的例外.违例.出错等情况而在正常控制流以外采取的行为,一般分为如下两个阶段: 1.异常发生:一个错误发生后被打印出来,称为未处理异常,而默认的处理则是自动输出 ...
- 笔记:html 拾遗之一
html 拾遗之一 今天翻了下w3schools.com 把忘掉的语法记一下(仅常用但是不熟的部分) img alt 属性,当图片无法显示时可显示alt属性的文字 br 换行 < html la ...
- JavaScript 位运算总结&拾遗
最近补充了一些位运算的知识,深感位运算的博大精深,此文作为这个系列的总结篇,在此回顾下所学的位运算知识和应用,同时也补充下前文中没有提到的一些位运算知识. 把一个数变为大于等于该数的最小的2的幂 一个 ...
- [python拾遗]列表
python列表拾遗 1.列表可以修改,使用 ‘+’ 将一个新列表附加在原列表的尾部: >>> a = [1,'a'] >>> b = a + [2,'b'] &g ...
- 闭包拾遗 & 垃圾回收机制
闭包拾遗 之前写了篇<闭包初窥>,谈了一些我对闭包的浅显认识,在前文基础上,补充并且更新些对于闭包的认识. 还是之前的那个经典的例子,来补充些经典的解释. function outerFn ...
随机推荐
- UNIX/Linux-进程控制(实例入门篇)
UNIX进程 进程标识符 要想对进程控制,必须得获取进程的标识.每个进程都有一个非负整数表示的唯一进程ID,虽然是唯一的,但是进程ID可以重用.当一个进程终止后,其进程ID就可以再次使用了. 系统 ...
- 百度下载google 浏览器安装失败
installer integrity check has failed. Common causes include incomplete download and damaged media co ...
- Android 开发笔记“context和getApplicationContext”
在android中常常会遇到与context有关的内容 浅论一下context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder( ...
- [转]Swift 简介 - 苹果最新的编程语言
Swift 真的可以说是最新的编程语言了,2014wwdc刚刚发布,下面来了解一下都有哪些特点. 首先感谢原作者,主要内容是借鉴他的,参考链接 http://zh.lucida.me/blog/an- ...
- w3wp.exe CPU过百问题
w3wp.exe CPU过百问题 最近发布在windows server2012 IIS8.0上的一个WebAPI项目,才几十个人在线,CPU就会出现过百情况,并且CPU一旦过百应用程序池就自动暂 ...
- linux-0.11抠代码-GDB+VMWARE
vmware新建一个虚拟机,硬盘为0.1G,建立完成后要先启动一次虚拟机,此时无任何系统,然后再关闭,应该会多出一个ostest-flat.vmdk这个虚拟磁盘文件,下面要用到 新建完成后 我的虚拟机 ...
- 使用Linux静态库
查看静态库.a文件包含的内容用下面的命令解压: ar x libgdal.a 然后就可以查看文件了: ls adler32.o cpl_recode.o dted_create.o gdalpamra ...
- Objective-c 类接口 (@interface) (类定义)
在Objective-c中如何定义一个类呢?我们可以使用下面的格式进行表示: @interface 类名:父类名{ 变量定义; } 方法定义: @end; 下面给出一个实例: @interface P ...
- 去除List列表中反复值(稍作调整,也适合于List<T> 和 List<?>)
方法一 循环元素删除 [c-sharp] view plaincopy public static void removeDuplicate(List list) { for ( int i = 0 ...
- java中只能有一个实例的类的创建
Java中,如果我们创建一个类,想让这个类只有一个对象,那么我们可以 1:把该类的构造方法设计为private 2:在该类中定义一个static方法,在该方法中创建对象 package test; / ...