摘要:
注:多线程中由于线程间需要同步,线程可能会不断检查某个同步值的是否改变,这必然牵涉到循环。由于编译器的优化,在循环中它不会每次都检查同步值。这就需要volatile关键字来说明这个同步值,告诉编译器不要对其进行优化。下面的程序源码摘自《Windows程序设计第五版》相关章节。 关键字:多线程 同步 循环监测 volatile 编译优化 /*---------------------------... 阅读全文
摘要:
转自:http://www.cnblogs.com/zhengyuhong/archive/2011/12/23/2299713.html 注意:当const修饰函数的输入参数和返回值时,一定是和对象的指针或引用结合在一起的。这既保证了函数的效率(传入、返回的对 象指针或引用不必像传值那样经过函数内部临时对象的构造、赋值、析构等过程 [这里的“传值”指的是传对象的值,不是传内置数据 的值] ... 阅读全文
摘要:
转自:http://blog.csdn.net/stone_kingnet/article/details/3998761 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个 二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每 一个... 阅读全文
摘要:
转自:http://bbs.chinaunix.net/viewthread.php?tid=936821 ================================================== Keywords: String Literal, Object, Array, Lvalue Author: whyglinux<whyglinux AT gmail DOT ... 阅读全文
摘要:
摘自<<C和指针>>3.23int *a;int* a;两者意思相同且后者看上去更为清楚:a被声明为类型为 int* 的指针. 但是,这并不是一个好技巧,原因如下:int* b, c, d;人们很自然地以为这条语句把所有三个变量声明为指向整形的指针, 但事实上并非如此. 我们被它的形式愚弄了. 星号实际上是表达式 *b 的一部分, 只对这个标识符有用. b 是一个指针, 但其余两个变量只是普通的整形. 要声明三个指针, 正确的语句如下:int *b, *c, *d; 阅读全文
摘要:
使用VC2008.#include<iostream>using namespace std;int main(){cout<<"hello"[0]<<"hello"[1]<<"hello"[2]<<"hello"[3]<<"hello"[4]<<"的长度是:"<<sizeof("hello")<<endl;cout<<"hel 阅读全文
摘要:
from:http://www.vckbase.com/document/viewdoc/?id=1439用C++进行简单的文件I/O操作原文出处:Simple File I/O Using C++ 序论 我曾发表过文件输入输出的文章,现在觉得有必要再写一点。文件 I/O 在C++中比烤蛋糕简单多了。 在这篇文章里,我会详细解释ASCII和二进制文件的输入输出的每个细节,值得注意的是,所有这些都是用C++完成的。 一、ASCII 输出 为了使用下面的方法, 你必须包含头文件 <fstream.h> (译者注:在标准C++中,已经使用 <fstream> 取... 阅读全文