C/C++
文章平均质量分 60
Willib
趁自己还年轻,给自己一个牛逼的机会
展开
-
利用boost.filesystem实现跨平台的复制目录功能
公司的开发主要都是基于boost库,以前都没有去了解过,所以借此机会学习了下boost,弄着弄着发现boost真心强大,很多模块真的太好用了,boost.filesystem就是很好的一个例子,操作目录文件啥的真心那叫方便啊,而且还是跨平台的,Linux下操作目录和文件就觉得挺繁琐的,写一个复制目录的小功能也得弄很多代码,下面是一段复制目录的代码,经测试可以很好的运行:bool Cop...原创 2015-04-11 17:46:41 · 5270 阅读 · 0 评论 -
Boost.deadline_timer实现定时器功能时需注意的时区问题
利用boost.deadline_timer() 可以很方便的实现定时器功能,详情参考:http://www.boost.org/doc/libs/1_57_0/doc/html/boost_asio/reference/deadline_timer.html比如等待指定的时间数: boost::asio::io_service ioservice; boost::asio::de...原创 2015-04-11 17:02:41 · 4430 阅读 · 0 评论 -
Windows下精确获取程序的运行时间可精确到微妙
在Windows下可以用系统提供的API函数 QueryPerformanceFrequency 和 QueryPerformanceCounter 来进行高精度的计时,现在的机器基本上都提供这种高精度的计时啦,所以不用担心。利用该函数可以精确的计时到微妙级别。msdn的描述见这里。QueryPerformanceFrequency() 返回的是CPU的时钟频率。QueryPerforma原创 2016-07-29 21:51:30 · 9049 阅读 · 1 评论 -
字符编码及宽字符类型(wchar_t)的跨平台处理
这篇文章的目的是希望你能在看完后对字符的编码和子节相关的东西,以及宽字符类型在不同平台之间的处理能有一个清晰的认识,有出入的地方,感谢指正。字符编码“电脑只有二进制,人脑才有乱码”,凡是我们看到的乱码都是由字符编码引起的。如果对于字符编码没有一个清晰的认识,那么各种各样的编码格式在你的脑海里肯定是混乱的。首先,我们知道一个字节是由八个二进制位组成的,用十六进制表示就是0x00,原创 2016-06-05 13:10:30 · 14597 阅读 · 1 评论 -
处理排序数组为什么会快于未排序的数组
在逛Stack Overflow时,看到一个很有意思的问题,以前一直是知道该这么做,但是却没有理解这么做的原因,问题 看这里。下面是一段很简单的C++代码,在对同一个数组做相同的处理时,先排过序的数组会明显快于未排序的数组,而且相比会快6倍之多。。#include #include #include int main(){ // Generate data con原创 2016-05-07 10:23:03 · 1272 阅读 · 0 评论 -
把一个正整数转化为用一个4位定长的36进制字符串
这次去参加腾讯的校园招聘,原创 2014-09-19 19:56:14 · 2459 阅读 · 0 评论 -
Linux内核中常用String库函数实现
//只列举了部分常用的char *strcpy(char *dest, const char *src){ char *tmp = dest; while ((*dest++ = *src++) != '\0') /* nothing */; return tmp;}char *strncpy(char *dest, const char *src, size_t coun原创 2014-08-09 21:46:58 · 4041 阅读 · 0 评论 -
库函数atoi()的实现
int atoi(const char *nptr); 如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整形数。否则,返回零。这里需注意:如果字符串是非法输入:字符串为空,只有一个‘+’或‘-’,非数字等返回的是整形数0;而如果输入是“0”,返回的也是整形数0。对于这样的情况,atoi()是通过一个全局变量来区分的。原创 2014-08-09 22:58:53 · 2105 阅读 · 0 评论 -
Digital Roots 杭电1013
一道acm水题做得和尼玛一坨屎一样,去shi算求了!!原创 2014-05-28 21:59:25 · 1167 阅读 · 0 评论 -
Ubuntu升级g++-4.8以支持C++11
也许你和我一样在升级g++到4.8后发现用g++ a.cpp -o a还是提示编译错误,那这篇文章给你答案。转自:http://my.oschina.net/zenglingfan/blog/1695641. 安装 gcc-4.8 为了使用C++ 11, 须安装 gcc-4.8 以上版本.按以下命令即可方便的安装 gcc-4.8 及 g++-4.81转载 2014-03-10 18:24:08 · 12134 阅读 · 0 评论 -
C++中的空类,默认产生哪些类成员函数?
答:classEmpty{ public: Empty(); // 缺省构造函数 Empty( constEmpty& ); // 拷贝构造函数 ~Empty(); // 析构函数 Empty&operator=( const Empty& ); // 赋值运算符 Empty*operator&(); // 取址运算符转载 2014-06-03 23:03:53 · 1395 阅读 · 0 评论 -
深入理解C语言及未定义那些事儿
转自:http://coolshell.cn/articles/5761.htmlDennis Ritchie 过世了,他发明了C语言,一个影响深远并彻底改变世界的计算机语言。一门经历40多年的到今天还长盛不衰的语言,今天很多语言都受到C的影响,C++,Java,C#,Perl, PHP, Javascript, 等等。但是,你对C了解吗?相信你看过本站的《C语言的谜题》还有《谁说C语言转载 2014-04-08 16:22:21 · 1557 阅读 · 0 评论 -
C/C++中随机函数rand/srand 的用法
转自:http://blog.csdn.net/woxueliuyun/article/details/2132543一、C++中不能使用random()函数 random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。但在C语言中int random(num)可以这样使用,它返回的是0至num-1的一个随机数。 可改用C++下的rand函数来实现。//在c中加转载 2014-03-10 14:52:36 · 6329 阅读 · 0 评论 -
[转]50个c/c++源代码网站
转自:http://www.cnblogs.com/feisky/archive/2010/03/05/1679160.htmlC/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码 。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建 议,以进一步加转载 2014-02-20 14:23:10 · 1374 阅读 · 0 评论 -
指针与内存分配详解
指针与内存, 指针数组,常量指针类笔记 1. char * str1;//str1 只是一个指针,指针指向的空间还没有分配,所以此时用strcpy向str1所指向的内存中拷贝内容将出错。利用malloc动态分配指向的内存(在堆中):str1=(char *)malloc(10) or str1=(char *)malloc(sizeof(char) * num)//分配num个转载 2013-12-19 17:39:34 · 2033 阅读 · 0 评论 -
C语言的谜题
各种经典,转来藏着,好好琢磨,转自:http://coolshell.cn/articles/945.html这几天,本站推出了几篇关于C语言的文章如下所示: 语言的歧义 [酷壳链接] [CSDN链接]谁说C语言很简单? [酷壳链接] [CSDN链接]6个变态的C语言Hello World程序 [酷壳链接] [CSDN链接]如何加密/弄乱C源代码 [酷壳链接] [CSDN链接]C语转载 2013-11-18 14:45:39 · 1170 阅读 · 0 评论 -
彻底搞定C指针-函数名与函数指针
函数名与函数指针一 通常的函数调用 一个通常的函数调用的例子://自行包含头文件void MyFun(int x); //此处的申明也可写成:void MyFun( int );int main(int argc, char* argv[]){ MyFun(10); //这里是调用MyFun(10);函数 return转载 2013-11-18 14:19:11 · 1317 阅读 · 0 评论 -
C++面试中string类的一种正确写法
原文地址:http://coolshell.cn/articles/10478.htmlC++ 的一个常见面试题是让你实现一个 String 类,限于时间,不可能要求具备 std::string 的功能,但至少要求能正确管理资源。具体来说:能像 int 类型那样定义变量,并且支持赋值、复制。能用作函数的参数类型及返回类型。能用作标准库容器的元素类型,即 vector/list/de转载 2013-11-17 17:05:34 · 1523 阅读 · 0 评论