随笔分类 -  C/C++

上一页 1 2 3 4 5 6 下一页

赋值重载的约定(1)
摘要:为了实现连锁赋值,赋值操作符必须返回一个引用指向左侧实参。(约定俗成) int x,y,z; x=y=z=20; so: weight& operator=(const weight& a) { ........... return *this;//返回左侧对象 } 注意:这只是一个协议,并无强制性 阅读全文

posted @ 2017-04-07 21:31 邗影 阅读(176) 评论(0) 推荐(0)

不要在构造和析构函数中调用虚函数
摘要:构造函数中不能有虚函数的原因: 原因一:基类构造期间虚函数不会下降到派生类阶段,也就是本身我们声明一个派生类对象,它应该先去调用基类的构造,若此时基类构造里面有虚函数,则这个虚函数是基类的虚函数,而不是继而到派生类里的虚函数。(即:要求使用对象内部尚未初始化的成分。。。错误的) 原因二:在派生类构造 阅读全文

posted @ 2017-04-07 21:22 邗影 阅读(266) 评论(0) 推荐(0)

构造,析构 cpp
摘要:一 构造析构常识: 1,c++ 处理类,若没有声明,则编译器默认声明构造,拷贝赋值,拷贝构造,析构函数。所有这些函数都是public且inline的。 2,编译器产出的析构函数是非虚函数。(non-virtual)。 3,拷贝构造和拷贝赋值函数作用就是拷贝非静态成员变量到目标对象处。 4,如果打算在 阅读全文

posted @ 2017-04-07 16:55 邗影 阅读(312) 评论(0) 推荐(0)

2 c++对象被使用前要先被初始化
摘要:虽然有些时候int x;会被初始化为0,但是也可能不会,这就造成随机初始值会影响我们程序的运行。 类成员变量初始化顺序是依照其声明顺序而来的。基类要早于派生类别初始化。 构造函数最好使用成员初值列: classname(int name,int age,char sex):this.name(nam 阅读全文

posted @ 2017-04-03 19:16 邗影 阅读(184) 评论(0) 推荐(0)

1.尽量以const ,enum,inline替换define
摘要:1.#define为预处理阶段命令 原因:有可能记号名称没有进入记号表,而出现编译错误,即编译器并没看到过该定义。 class专属常量const 一般定义为static,保证该常量至多有一份实体。 枚举类型值可充当intS型使用。enum{num=3};现在num就是3的一个记号。 对于取地址操作: 阅读全文

posted @ 2017-04-03 19:05 邗影 阅读(452) 评论(0) 推荐(0)

如何在比较1.5 len的次数下,找到整型数组最大最小值
摘要:2016-11-11 写的有点乱,其实可以用 :?这个运算符吧,凑活看吧 每次取两个数,大小比较0.5len次。。。。大的比大的,小的比小的len次,共1.5len次 阅读全文

posted @ 2016-11-11 15:56 邗影 阅读(223) 评论(0) 推荐(0)

c++实现循环队列
摘要:#include #include #include using namespace std; int len=10;// the len of the que typedef struct que{ int *qbase; int fr; int tr; }ques; bool isempty(ques *ptr) { if(ptr->fr==ptr->tr) { ... 阅读全文

posted @ 2016-10-23 15:33 邗影 阅读(1467) 评论(0) 推荐(0)

sizeof 4字节对齐
摘要:64位机 100 4 9 12 12 4 即相加小于4可以进行拼凑,但是一旦大于四,就要按照4的倍数的存储单元存储。 阅读全文

posted @ 2016-10-21 11:38 邗影 阅读(356) 评论(0) 推荐(0)

某游戏公司面试题
摘要:1、判断一个float变量是否为零:一般float型只能精确到小数到后六位即1e-6,将float型的数a的绝对值abs(a)与1e-6比较,如果abs(a)比1e-6还要小的话就可以认为a的值为零,因为小数六位以后是不精确的,是没有意义的。 2,、构造函数不可以为虚函数,但是析构可以为虚函数 3、 阅读全文

posted @ 2016-10-15 21:33 邗影 阅读(1322) 评论(0) 推荐(0)

c++笔试题贪吃蛇问题
摘要:贪吃蛇 现在有一个N*M(N,M=100)的方形矩形,在这个矩形的每一个方格上都放有一个随机值,一条可爱的小蛇从矩形的 左上角开始出发,每次移动都只能移动一格,向右或向下,而每到达一格贪吃的小蛇都会吧该位置上的值吃个一干二净,直到到达右下角时停止。而贪吃的小蛇不怕撑死,它只想吃到最多,并输出路径。 阅读全文

posted @ 2016-10-14 22:15 邗影 阅读(771) 评论(0) 推荐(0)

字符串取地址
摘要:#include #include #include #include #include #include #include #include using namespace std; int main() { char *p="fdg"; cout(p)(&str[0])<<endl; } cout<<&str[0]<<endl;输出的事整个字符串 阅读全文

posted @ 2016-09-28 23:01 邗影 阅读(1969) 评论(0) 推荐(0)

输入数字个数以及要找的位置,输出以字典序为准的那个数
摘要:输入 12 4 输出 12 1,10,11,12,2,3,4,5,6,7,8,9 c++的。。。哎。。。JRTT第一题 阅读全文

posted @ 2016-09-28 21:22 邗影 阅读(443) 评论(0) 推荐(0)

delete[] p与 delete p
摘要:基本类型的对象没有析构函数,所以回收基本类型组成的数组空间用 delete 和 delete[] 都是应该可以的;但是对于类对象数组,只能用 delete[]。对于 new 的单个对象,只能用 delete 不能用 delete[] 回收空间。 上边这句是转载的,因为自己也不太明白。记下来、、、 析 阅读全文

posted @ 2016-09-28 16:37 邗影 阅读(341) 评论(0) 推荐(0)

友元函数友元类
摘要:友元函数和友元类 采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两 阅读全文

posted @ 2016-09-28 16:26 邗影 阅读(211) 评论(0) 推荐(0)

c++ sizeof,strlen, length
摘要:#include <map> #include <iostream> #include <algorithm> #include <functional> #include<forward_list> #include<unordered_map> #include<share.h> using n 阅读全文

posted @ 2016-09-28 15:42 邗影 阅读(379) 评论(0) 推荐(0)

一个数是否为2的次幂
摘要:输入若干行,判断是否为2的次幂。。。。。 阅读全文

posted @ 2016-09-27 12:17 邗影 阅读(201) 评论(0) 推荐(0)

C++旅馆问题。
摘要:有总钱数 有每房每天住需要多少钱 问最少可以住几天 最后输入的是钱数。前边输入没个住所每天多少钱 例如: 1001 1002 1003 1004 1000 -1 100 500 600 最少一天,最多2天 写了一个程序但是估计还是考虑不周只有0.5的通过率 可能对这个最多最少还是不太理解。。。。。。 阅读全文

posted @ 2016-09-27 12:14 邗影 阅读(477) 评论(0) 推荐(0)

所谓的传值和引用
摘要:一直反反复复总是记不太清 今天总结: 如果你在调用的时候用了引用,对应的函数参数必须有* 如果你在调用的时候没有&,则如果你传的是指针,则对应函数要有参数要有*,如果想把参数本身传过去,要在函数定义的参数处加& 对于字符串而言和对于整型而言 cout<<a不一样的 void fun(int *a){ 阅读全文

posted @ 2016-09-26 00:33 邗影 阅读(187) 评论(0) 推荐(0)

c++10进制转换为任意2-16进制数字
摘要:1 #include 2 #include 3 #include 4 using namespace std; 5 int main() 6 { 7 //十进制转换为若干进制>2,>num>>n; 13 int s[100]; 14 if(n>=2&&n=1;j--) 25 { 26 if(s[j]>=10) 27 ... 阅读全文

posted @ 2016-09-23 18:20 邗影 阅读(2610) 评论(0) 推荐(0)

c++命名空间
摘要:http://www.jizhuomi.com/software/289.html转自 命名空间的意义 为什么需要将函数定义在命名空间中呢?这其实是为了避免变量或函数重命名的问题。试想,一个项目组内多个工程师进行开发,有可能会出现全局变量或函数重名的现象,而如果每个人都定义了自己的命名空间,就可以解 阅读全文

posted @ 2016-09-23 17:45 邗影 阅读(199) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 下一页

导航