C/C++
文章平均质量分 67
hello_qingwen
涙の雨が頬をたたくびに美しく
展开
-
若不想使用编译器自动生成函数,就该明确拒绝
编译器会自动为我们生成构造函数,拷贝构造函数,赋值操作符和析构函数。如果想要拒绝他们自动生成,那么就自行声明他们,并且令这些函数为private,从而阻止人们调用他。方式一:很明显直接的方法,正如前面所说的,将函数声明为private,但是这样并不绝对安全,因为member函数和friend函数还是可以访问到private成员。方式二:在方式一的基础上,只将函数声明不给出定原创 2014-03-30 09:49:03 · 754 阅读 · 0 评论 -
避免返回handles指向对象内部内容
References, 指针和迭代器统统都是所谓的handles(号码牌,用来取得某个对象)。返回handles一方面降低了类的封装性,即令成员函数返回一个访问级别较低的成员;另一方面会造成虽然使用const成员函数,但是对象的状态依然被改变(可令返回常量避免)。最重要的问题是dangling handles(悬挂号码牌):handles所指向的东西(所属对象)不复存在。原创 2014-03-30 17:06:09 · 605 阅读 · 0 评论 -
C++中的位运算
这里就稍微整理一下C++中典型的位运算算法。题目1:(二进制中的1的个数)请实现一个函数,输入一个整数,输出该二级制表中1的个数。int onesInNum(int num){ int count=0; while(num){ count++; num=(num-1)# //去掉一个1 } re原创 2014-03-31 21:56:43 · 719 阅读 · 0 评论 -
C/C++动态存储器分配
1. mmap和munmapmmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。原创 2014-04-26 12:27:39 · 734 阅读 · 0 评论 -
用C++模拟sealed和final关键字
C++通过public继承视为is-a关系。那么private继承意味着什么呢?如果classes之间的继承关系是private,编译器不会自动将一个derived class对象转换为一个base class对象。这和public继承不同。第二条规则是,由private base class 继承而来的所有成员,在derive class中都会变成private属性,纵使他们在bas原创 2014-03-30 11:11:15 · 1528 阅读 · 0 评论 -
sort c++ 用法
STL中就自带了排序函数sort。sort 对给定区间所有元素进行排序, 要使用此函数只需用#include sort即可使用,语法描述为:sort(begin,end),表示一个范围,例子:#include #include using namespace std;int main(){ int a[20]={2,4,1,23,5,76,0,43,24,65},i;原创 2011-05-09 15:21:00 · 355 阅读 · 0 评论