C++
文章平均质量分 70
baimafeifei2011
这个作者很懒,什么都没留下…
展开
-
C++派生类的构造函数和析构函数执行顺序及其构造形式
在C++程序员的面试中,经常会出现派生类与基类的构造函数、析构函数的执行顺序。其实这是一个很基本的问题,没有什么难度,只需要记住就OK了。 1.派生类的构造函数和析构函数的执行顺序 首先执行基类的构造函数,随后执行派生类的构造函数,当撤销派生类对象时,限执行派生类的析构函数,再执行基类的析构函数。 2.派生类构造函数和析构函数的构造原则 1转载 2015-08-29 09:46:09 · 2707 阅读 · 0 评论 -
关于二维数组做函数参数,传递形参的形式的问题
数组作为参数进行传递,不能将数组的所用元素一次全都传进子函数中, 要么我们可以一次传进去数组中一个元素的内容,要么我们可以传一个数 组的指针,传递一维数组的指针这里不讲,只说一下传递二维数组时,二 维数组做形参的形式。 我目前知道的有三种形式: 1. void func(int matrix[][4]); //传递一个二维数组,其中第二维的大小 //不能省略,这里以4举例。 2. v转载 2015-09-18 15:13:35 · 1448 阅读 · 0 评论 -
数组名和数组名取地址的区别
#include int main() { int a[5]; printf("%d\n", a); printf("%d\n", &a); printf("%d\n", a + 1); printf("%d\n", &a + 1); printf("%d\n", &a[0] + 1); printf("---------------\n")转载 2015-09-18 13:00:58 · 297 阅读 · 0 评论 -
彻底搞定C指针-函数名与函数指针
函数名与函数指针 一 通常的函数调用 一个通常的函数调用的例子: //自行包含头文件 void MyFun(int x); //此处的申明也可写成:void MyFun( int ); int main(int argc, char* argv[]) { MyFun(10); //这里是调用MyFun(10);函数 return转载 2015-09-18 17:28:07 · 269 阅读 · 0 评论 -
结构体定义 typedef struct 用法详解和用法小结 (2009-12-21 15:40:15)
结构体定义 typedef struct 用法详解和用法小结 (2009-12-21 15:40:15) 转载▼ 标签: vc 教育 学习 编程 it typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。 具体区别在于: 若stru转载 2015-10-20 20:04:07 · 367 阅读 · 0 评论 -
STL中的常用算法
C++STL 常用算法,使用时包含#include 一、非变异算法 是一组不破坏操作数据的模板函数,用来对序列数据进行逐个处理、元素查找、子序列搜索、统计和匹配。非变异算法具有极为广泛的适用性,基本上可应用与各种容器。 1查找容器元素find 它用于查找等于某值的元素。它在迭代器区间[first,last)(闭开区间)上查找等于value值的元素,如果迭代器i所指的元素满转载 2015-09-16 10:39:32 · 364 阅读 · 0 评论 -
《C++程序设计案例教程》笔记之多态
1.函数重载是一种多态,运算符重载也是一种多态。运算符重载函数实质上也是函数,只不过函数名必须有关键字operator。 2.大多数运算符既可以重载为友元函数又可以重载为成员函数。一般将双目运算符重载为友元函数,将单目运算符重载为成员函数。 3.利用虚函数实现“一个接口,多种方式”,当用基类指针或引用对虚函数进行访问时,具体执行哪个函数只有在运行时才能知道。 4.与前面所讲的拷贝构造函数一样原创 2015-09-16 10:53:10 · 354 阅读 · 0 评论 -
《C++程序设计案例教程》笔记之类和对象
1.成员函数的特性: 一般成员函数可以重载,构造函数也可以重载,但是析构函数不可以重载。 成员函数如果定义在类体类,则自动成为内联函数;如果定义在类体外,也想定义成内联函数,则需要加 inline原创 2015-09-14 13:10:04 · 675 阅读 · 0 评论 -
C++中用函数返回值初始类对象时的一个问题
问题: 有一个类,名字是C,假设有一个函数,它的定义为: [cpp] view plaincopy C func() { C tmp; return tmp; } 即返回C类型的函数,那么考虑表达式C newC = func();将调用几次构造函数?分别是什么类型的构造函数?转载 2015-09-13 18:29:27 · 590 阅读 · 0 评论 -
C语言union(联合体 共用体)
一直以来,union都是个很少用到的东西,对于这些不常用的结构往往记不住。这次看书又看到了,还是学习一下吧。 一般在Windows API的一些数据结构中才能看到这个union,其实并不复杂。本质上来说和结构体是一样的,但是从包装的角度来看有差异。 1、union中可以定义多个成员,union的大小由最大的成员的大小决定。 2、union成员共享同一块大小的内存,一次只能使用其中的一个转载 2015-09-12 22:16:55 · 379 阅读 · 0 评论 -
<像计算机科学家一样思考>笔记
1.当声明变量时,创建了一个命名的存储位置,当对变量应用赋值语句时,给它一个值。 2.变量和它的值应该有相同的类型。 3.变量是什么类型的就输出什么类型的值。 int number; number = 'a'; cout 则输出97 char number; number = 'a'; cout 则输出a 4.C++在必要的时候可以将int转换为double,但是,从d原创 2015-09-13 07:45:06 · 439 阅读 · 0 评论 -
关于string::size_type
关于string::size_type size_type其实是string模板类定义的一种类型之一,它与size_of的用法相似,只是它根据存储的类型返回字符串的长度.对于 string具体化,将根据char返回字符串的长度,在这种情况下,size_type与size_of等效.size_of是一种无符号类型. 你说的 size_type 其实就是 unsigned转载 2015-09-07 13:55:28 · 486 阅读 · 0 评论 -
c++ iterator(迭代器)分类及其使用
前言: 以下的内容为我阅读c++沉思录18,19,20章的笔记以及自己的想法. 正文: 总所周知,c++的stl中提出了iterator的概念,这是C所没有的.在一般的使用中,iterator的行为很像c内建的指针.而在java和c#中索性就直接取消了指针,而采用类似iterator的做法来代替了指针.很多编程人员在使用iterator的时候也仅仅把他当作了指针的一个变体转载 2015-09-06 20:37:10 · 388 阅读 · 0 评论 -
C/C++数据对齐
C/C++数据对齐 为了避免混淆,做如下规定,以下代码若不加特殊说明都运行于32位平台,结构体的默认对齐值是8,各数据类型所占字节数分别为 char占一个字节 int占四个字节 double占八个字节。 两个例子 请问下面的结构体大小是多少? struct Test { char c ; int i ; }; 这个呢? struct Tes转载 2015-09-07 11:03:40 · 362 阅读 · 0 评论 -
c++ 析构函数为虚函数的问题
昨天去XX公司面试,面试官问了一个关于C++类析构函数为虚函数时,如果是父类的指针用子类来new,如果发生析构时,析构函数是virtual与不是virtual有什么区别。当时答的不好,回来总结了一下,在机器上实现了一遍,终于搞明白了。记录下来,以后遇到这种情况自己一定不要犯错了 一、先看第一种最简单的情况吧,教科书上教的,析构函数不是virtual,正常定义一个子类对象转载 2015-08-31 23:27:35 · 522 阅读 · 0 评论 -
socket通信简介
我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下: 1、网络中进程之间如何通信?2、Socket是什么? 3、so转载 2015-09-21 22:00:26 · 350 阅读 · 0 评论