上一页 1 2 3 4 5 6 7 ··· 17 下一页

2016年10月8日

构造函数参数和类的数据成员同名时的两种写法

摘要: #include using namespace std; class Base { public: Base(int x) : x(x)//成员初始化列表中不需要也不能够用this指针指出数据成员 { } int x; }; class Base1 { public: Base1(int x) { this->x = ... 阅读全文

posted @ 2016-10-08 10:53 lakeone 阅读(1924) 评论(0) 推荐(0) 编辑

2016年10月6日

转:浅谈洗牌算法(面试题)

摘要: 很多人都有耳闻过洗牌算法,时常会在面试中碰到,我们下面来定义一下这个问题。 所谓洗牌算法,就是给你一个1到n的序列,让你随机打乱,保证每个数出现在任意一个位置的概率相同,也就是说在n!个的排列中,每一个排列出现的概率相同。 最朴素的做法 对于这个问题我们从最朴素的解法谈起。每次随机选出一个没有被选过 阅读全文

posted @ 2016-10-06 16:57 lakeone 阅读(378) 评论(0) 推荐(0) 编辑

class的大小

摘要: 3个问题: sizeof一个空类是多大?为什么?编译器为什么这么做? 在这个类中添加一个virtual函数后再sizeof,这时是多大?为什么? 将这个类再virtual继承一个其它的空类,这是多大?为什么? 结论: 1.对象是存在于内存中的实体,编译器必须为其分配内存空间(C++编译器还为每个类默 阅读全文

posted @ 2016-10-06 11:49 lakeone 阅读(208) 评论(0) 推荐(0) 编辑

派生表中第一个基类没有虚函数,派生类存在虚函数时的内存布局

摘要: 单继承的例子: 实验结果: 结论:单继承情况下基类没有虚函数,派生类存在虚函数时,派生类的vptr会被放在最前面,接着是基类数据成员,然后是派生类数据成员。 多重继承的例子: 阅读全文

posted @ 2016-10-06 11:35 lakeone 阅读(210) 评论(0) 推荐(0) 编辑

转: inline关键字使用

摘要: 1、inline用在函数声明时,还是函数定义时?还是两边都加? 首先,内联函数声明和定义最好在同一个文件中,其它的情况没有实用上的意义。 只要在同一个文件中,声明和定义至少其一加“inline”修饰即可。 2、inline的函数可不可以同时是虚函数? 可以。 因为inline只是给编译器的一种建议, 阅读全文

posted @ 2016-10-06 10:58 lakeone 阅读(174) 评论(0) 推荐(0) 编辑

2016年10月3日

三角形面积计算(海伦公式或叉积绝对值的一半)

摘要: #include <iostream> #include <cmath> using namespace std; struct Point { float x; float y; Point(float a, float b) : x(a), y(b) { } }; double Length(P 阅读全文

posted @ 2016-10-03 00:58 lakeone 阅读(1855) 评论(0) 推荐(0) 编辑

2016年10月2日

单继承时虚函数表解析

摘要: 1.派生类先继承基类的虚函数表,如果派生类重新定义基类的虚函数,则会覆盖相应的表项,如果派生类定义了新的虚函数,则按照声明的顺序扩充虚函数表。2. 注意:对于同时存在于基类和派生类的虚函数,派生类虚函数表的顺序是按照基类虚函数的声明顺序排列的,与派生类声明顺序无关(微信面试题)。 阅读全文

posted @ 2016-10-02 11:43 lakeone 阅读(435) 评论(0) 推荐(0) 编辑

2016年9月30日

C语言中的atan和atan2

摘要: 在C语言的math.h或C++中的cmath中有两个求反正切的函数atan(double x)与atan2(double y,double x) 他们返回的值是弧度 要转化为角度再自己处理下。 前者接受的是一个正切值(直线的斜率)得到夹角,但是由于正切的规律性本可以有两个角度的但它却只返回一个,因为 阅读全文

posted @ 2016-09-30 10:33 lakeone 阅读(894) 评论(0) 推荐(0) 编辑

2016年9月16日

n皇后问题的递归和迭代版 leetcode N-Queens

摘要: 题目如下图: 递归版 迭代版 阅读全文

posted @ 2016-09-16 11:26 lakeone 阅读(829) 评论(0) 推荐(0) 编辑

2016年8月14日

linux网络编程中INADDR_ANY的含义

摘要: INADDR_ANY选项 网络编程中常用到bind函数,需要绑定IP地址,这时可以设置INADDR_ANY INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”。 也就是表示本机的所有IP,因为有些机子不止一块网卡,多网卡的情况下,这个就 阅读全文

posted @ 2016-08-14 15:13 lakeone 阅读(4086) 评论(0) 推荐(2) 编辑

上一页 1 2 3 4 5 6 7 ··· 17 下一页

导航