自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weiyang1024的博客

What doesn't kill you makes you stronger

  • 博客(12)
  • 收藏
  • 关注

原创 常量字符串的存储

int main(){ char str1[] = "hello world"; char str2[] = "hello world"; char *str3 = "hello world"; char *str4 = "hello world"; if(str1 == str2) cout<<"str1 and st

2017-03-15 11:21:42 483

转载 多维数组和指针

一维数组名即是一个指针常量,它代表数组第一个元素的地址,知道一维数组的长度,那么可以通过数组名输出一维数组的所有元素:#include stdio.h>int main(void){    int i;    int a[5] = {1, 2, 3, 4, 5};    int *p = a;    for( i = 0; i

2017-03-15 09:23:46 329

原创 条款8:不能让异常逃离析构函数,否则难以想象

1、c++并不禁止析构函数吐出异常,但它不鼓励你这样做。例:vector存的结构是class的话,当vector被销毁时,如果两个class在析构的时候抛出异常,程序若不是结束执行就是导致不明确行为。 2、如果析构函数必须执行一个动作,该动作可能会失败抛出异常,该怎么办? (1)如果抛出异常,通过调用abort直接结束程序;     try {       db.clo

2017-03-14 17:14:53 354

原创 条款7

1、c++指出,当derivedclass对象经由一个base class指针被删除,而该base class带着一个non-virtual析构函数,其结果未有定义——实际执行时通常发生的是对象derived成分没被销毁。这是形成资源泄露、在调试器上浪费许多时间的绝佳途径。消除这个问题的做法:给base class一个virtual析构函数。 2、如果class不含virtual函数,

2017-03-14 16:47:29 332

原创 条款06:若不想使用编译器自动生成的函数,就该明确拒绝

为了阻止class支持copy构造函数或copy assignment操作符,可以将它们声明为private,但是这个做法并不安全,因为member函数和friend函数还是可以调用你的private函数。除非你不去定义它们,那么如果不慎调用了任何一个,会获得一个连接错误。例:class A{public :private:   A(const A&);   A& oper

2017-03-14 15:37:16 282

原创 条款05

1、class Empty{ };当c++处理过空类之后,编译器会为它声明一个拷贝构造函数,一个赋值运算符和一个析构函数,还有default构造函数。所有这些函数都是public且inline的。 唯有当这些函数被需要时,它们才会被编译器创建出来:Empty e1;         //default构造函数                 //析构函数Empty e2(e

2017-03-14 15:08:13 251

原创 条款04

1、C++规定,对象的成员变量(自定义类型)的初始化动作发生在进入构造函数本体之前,在构造函数内不是初始化,而是赋值操作。初始化的发生时间更早,发生于这些成员的default 构造函数被自动调用之时(比进入对象的构造函数的时间要更早)。 应该用成员初始化列表代替赋值操作,其效率较高。基于赋值的版本首先调用成员变量的default构造函数为其设初值,然后立刻再对它们赋予新值。而成员初始化列表

2017-03-14 12:29:50 265

原创 条款01——条款03

1、extern int x; 如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。如果在定义点之前的函数想引用该全局变量,则应该在引用之前用关键字extern对该变量作外部变量声明,表示该变量是一个将在下面定义的全局变量。有了此声明,就可以从声明处起,合法地引用该全局变量,这种声明称为提前引用声明。 2、default 构造函数是一个可被调用而不带任何实参者。

2017-03-14 10:19:05 204

原创 指针使C威力无穷!

1、 未初始化和非法的指针 int  *a;*a = 12;声明了一个名为a的指针变量,但没有对它进行初始化,所以没办法预测12将存储在什么地方。无论是静态还是动态,声明一个指向整型的指针都不会创建用于存储整型值的内存空间。如果运气好,a的初始值是一个非法地址,这样赋值语句将会出错,从而终止程序;更严重的是,如果指针指向一个合法地址,位于那个位置的值将被修改。注:声

2017-03-13 17:26:57 378

原创 我所理解的要点和难点——剑指offer简要笔记

1、Singleton模式。设计一个类,只能生成该类的一个实例 考虑多线程环境,加同步锁。 2、替换空格。把字符串中每个空格换成“%20” 从字符串的后面开始复制和替换,准备两个指针,P1指向原始字符串末尾,P2指向替换之后的字符串末尾。 3、从尾到头打印链表 方法1:栈  方法2:递归 4、重建二叉树。已知前序遍历和中序遍历 前序遍历第一个

2017-03-12 19:49:39 570

转载 c/c++/java笔试面试推荐书籍(部分)

2014届校招基本慢慢收尾,现特将本人和小伙伴们的求职血泪史记录,并且推荐一些书籍供学弟学妹们参考,以壮我皇家理工之名。       首先得感谢百度的师兄,他教会了我很多东西,致以很深的谢意。另外还得感谢一起求职的小伙伴们,希望我们的经历能够给学弟学妹们一个参考。       以下分三个方向讲解,每个方向都是一个学长独自撰稿。(一)     C语言篇C语言求职血泪史华为(实习):机试、一面

2017-03-10 17:02:01 3723

原创 第一篇c++问题总结,写在这里……

1.面向对象程序设计(object-orientedprogramming)的核心思想? 核心思想是数据抽象、继承和动态绑定。通过使用数据抽象,将类的接口与实现分离(c++primer第7章);使用继承,可以定义相似的类型并对其相似关系进行建模;使用动态绑定,可以在一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象。 2.c++多态性? 多态性简单概括为“一个接口,

2017-03-10 15:28:09 1257

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除