
C/C++
文章平均质量分 63
jia_wei
这个作者很懒,什么都没留下…
展开
-
STL中map用法详解
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有转载 2012-05-08 15:59:26 · 406 阅读 · 0 评论 -
本地时间转UTC时间
// 返回距离1970-1-1 的天数int otl2time( otl_datetime & odt){ struct tm tm; tm.tm_year = (odt.year-1900); tm.tm_mon = odt.month-1; tm.tm_mday = odt.day; tm.tm_hour = odt.hour; tm.tm_min = od原创 2013-08-09 12:08:36 · 875 阅读 · 0 评论 -
spirntf 和 memcpy
// 仅为笔记 sprintf和memcpy对字符数组的操作:char str[125];char str1[125];sprintf( str, "%s", "I love c++!"); memcpy( str1, "I love c++!", strlen("I love c++!"));str1[strlen(str1)] = '\0';使用sprint原创 2013-04-21 18:53:26 · 879 阅读 · 0 评论 -
回车、换行、空格的ASCII码值
回车,ASCII码13换行,ASCII码10空格,ASCII码32Return = CR = 13 = '\x0d'NewLine = LF = 10 = '\x0a'ASCII码表信 息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的转载 2013-01-10 22:17:06 · 834 阅读 · 0 评论 -
C++文件读写总结
作者: infobillows 发表日期: 2007-04-03 21:33 一、ASCII 输出为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的。)。这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所有这两个文件, 如果你想显式包含他们,那随便你。我们从文件操作类的设计转载 2012-12-11 19:08:56 · 493 阅读 · 0 评论 -
typename双重意义笔记
// 具体请参考《Effective C++中文第三版》条款42::了解typename的双重意义 // 模板template内出现的名称如果相依于某个template参数,称为从属名称(dependent names);如果从属名称在class内呈嵌套状,我们称它为嵌套从属名称(nested dependent name)。 // 一般性规则:任何时候当你想要在tem原创 2012-12-07 21:56:19 · 598 阅读 · 0 评论 -
重定向子进程控制台程序的输入输出
重定向所做的工作都在父进程,但需要子进程遵守下面的规则:子进程程序在输出代码后,等待输入之前需要调用fflush(stdout)函数,这样把输出的内容放入缓冲区,父进程才能及时的读到输出数据。不遵守以上规则就没办法实现有效的交互了,cmd.exe是遵守这个规则的典范,大部分控制台程序都不遵守这个规则。今天我试图给Google的V8 Javascript 的Shell搞一个GUI,方便我输入转载 2012-11-23 08:58:47 · 4762 阅读 · 0 评论 -
ShellExecute(windows下的execl)和system()源码
system()函数功能强大,很多人用却对它的原理知之甚少先看linux版system函数的源码:#include #include #include #include int system(const char * cmdstring){ pid_t pid; int status; if(cmdstring == NUL转载 2012-11-13 16:56:46 · 1731 阅读 · 0 评论 -
boost::thread的创建方式
最近在做一个消息中间件里面涉及到多线程编程,由于跨平台的原因我采用了boost线程库。在创建线程时遇到了几种线程创建方式现总结如下: 首先看看boost::thread的构造函数吧,boost::thread有两个构造函数: (1)thread():构造一个表示当前执行线程的线程对象; (2)explicit thread(const boost::function0& threadf转载 2012-06-06 17:42:32 · 528 阅读 · 0 评论 -
C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括:a.引用b.常量c.静态d.静态常量(整型)e.静态常量(非整型)常量和引用,必须通过参数列表进行初始化。 静态成员变量的初始化也颇有点特别,是在类外初始化且不能再带有static关键字,其本质见文末。参考下面的代码以及其中注释:#include转载 2012-06-01 15:36:31 · 773 阅读 · 0 评论