- 博客(12)
- 资源 (9)
- 收藏
- 关注
原创 关于文件的打开方式(字节流和二进制流)
今天想起一个恶作剧的程序,便动手写了起了。起初我觉得是挺简单的。之后便发现没那么简单。本来就是一个文件拷贝的事情,但我要将文件存储的二进制文件中,而且文件还不小。问题首先来了,不过简单,写一个辅助程序将文件转换成十六进制的字符串这个简单马上就写成了。由于文件过大之后,必须修改 Zm 编译选项才能通过编译。但接下来问题又出现了,拷贝后的文件比原来大好多,这是为什么
2012-03-21 20:54:02 3862
原创 纯虚函数之析构函数
纯虚函数可以有函数体(可以有但最好不要加)。当基类析构函数为纯虚函数时,必须显示加上函数体。#include using namespace std;class Base{public: virtual void print() =0; virtual void print1() = 0 { cout<< "Base print1" <<endl; } virtual
2012-03-20 21:23:33 2900
原创 关于共用体--union
不解释#include union test{ float f; int i; char c; }a;void main(){ a.i = 97; printf("%d\n", a);//97 printf("%d\n", a.i);//97 printf("%c\n", a.c);//a printf("%f\n\n", a.f);//0.000000
2012-03-20 21:05:35 599
原创 编程遇到小问题0
今天写一个程序突然出现编译错误,不知为何,最后才明白.#include #include #define szName TEXT("ProcessName")int GetProcessIdFromName(LPTSTR szName){ printf(szName); return NULL;}void main(){ GetProcessFromName(sz
2012-03-16 15:42:37 553
原创 算法--求0到N中所有1的个数
代码如下:#include #include using namespace std;#define N 11void GetAllBit(int x, int& len, int bit[]){ len = 0; bit[len] = x % 10; while( x ) { x = x / 10; bit[++len] = x % 10; }}int Ge
2012-03-12 15:23:08 607
翻译 c++11新特性--nullptr
nullptr(空指针):这个特性的引入主要是为了考虑到使用(声名狼藉的,讨厌的)NULL macro 产生的陷阱。就我们所知 NULL 是不代表任何东西,但是编译器会阐述为一个 0 在编译时期,这个阐述会导致模棱两可。因此,要小心。void SomeFunction(int i){};void SomeFunction(char *){};现在像这样调用:SomeFunct
2012-03-10 10:15:28 763
翻译 c++11新特性--static_assert
static_assert:这个宏用于检测和诊断编译时错误。编译期,这是一个与 CRT-assert(运行时宏)相反的宏。这个好东西用于检测编译时程序的不变量。这需要一个表达式可以被计算为 bool 或 string (字符串)。如果这个表达式的值为 false ,那么编译器会出现一个包含特定字符串的错误,同时编译失败。如果为 true 那么没有任何影响。我们可以在以下使用 stati
2012-03-10 09:54:19 1815
转载 模板--模板元编程
将进行类型参数代替作为一种方便的方法,这意味着产生了一种支持编译时编程的机制,这样的程序称为模板元程序(template metaprogram)(因为正在"为一个程序进行编程"),事实证明可以用它做很多事情。实际上,模板元编程就是完全的图灵机(Turing complete),因为它支持选择(if-else)和 循环(通过递归)。从理论上讲,可以用它执行任何计算。下面看几个例子。注: 图
2012-03-03 19:38:41 1420
翻译 c++11新特性--decltype
返回值 decltype(表达式)[返回值的类型是表达式参数的类型]这个可也用来决定表达式的类型,就像Bjarne暗示的一样,如果我们需要去初始化某种类型的变量,auto是最简单的选择,但是如果我们所需的类型不是一个变量,例如返回值这时我们可也试一下decltype。现在我们回看一些例子我们先前做过的,template void Somefunction(U
2012-03-03 16:15:40 18874 6
原创 关于引用
书上关于引用的要点的理解:1.引用既不是对被引用变量的简单复制,也不是指向被引用变量的指针,而是被引用变量的另一个名字,在定义时必须被初始化,并且初始化的值不能是常量。可以是常量,代码如下: const int &r = 15;2.引用一旦初始化后,就与初始化他的变量绑定在一起,占用相同的内存空间,所以引用变量的值改变时,原来的变量值也改变。 (这句话我也理解)3.
2012-03-02 22:01:34 756
原创 特殊数据获取
今天突然想了一下怎么得到最大的整数(int类型),原来如此简单:~(~0其他长度数据也是一样,无符号数更简单。但float,double类型不能进行>运算。
2012-03-02 20:59:33 565
翻译 c++11新特性--auto
auto 关键字自动帮助推导类型auto i = 5 // i will be of type intint n=3;double pi=3.14;auto j=pi*n; // j will be of type double类型更难写的例子 // take a hypothetical Map of ( int and an map(int,in
2012-03-02 16:16:43 2304
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人