C/C++
shaozg168
这个作者很懒,什么都没留下…
展开
-
统计unsigned int 二进制1的个数!
unsigned int GetBinaryCount(unsigned int u) { u = ((u&0x55555555) + ((u>>1)&0x55555555)); u = ((u&0x33333333) + ((u>>2)&0x3333原创 2011-09-09 10:07:01 · 913 阅读 · 1 评论 -
iOS 面试之三道题
iOS 面试之三道题1、定义宏实现MAX或者MIN.菜鸟的答案是这样的:#define MAX(X,Y) X>Y ? X : Y验证:当输入MAX(1 == 3, 2)本来结果期望的是2,可实际结果却是0?高手的答案是这样的:#define MAX(X,Y) ((X) > (Y) ? (X) : (Y))到这里,或许大部分人都说没有问题了,大学的时候老师都是这么教的啊?你不能再说错了吧。错不原创 2015-04-16 14:52:09 · 847 阅读 · 0 评论 -
字符串操作类,主要用在808协议数据的处理方面
808协议数据处理类直接上代码,头文件如下:/* * File: ByteBuffer.h * Author: shaozg * * Created on 2013年11月19日, 上午10:04 */#ifndef BYTEBUFFER_H#define BYTEBUFFER_Hclass ByteBuffer {public: ByteBuffer(原创 2013-11-19 11:50:51 · 3964 阅读 · 0 评论 -
判断基于对话的程序是开机启动还是双击运行的
我们这里的开机启动是写到注册表里面, 我们可以在启动的时候加参数,比如:test.exe -a 1 -b 2然后呢, 在test app中 用 利用GetCommandLineW()函数获得命令行参数个数, 用CommandLineToArgvW 获取到参数列表信息, 这样的话,就能区分是开机启动还是双击运行了.原创 2013-04-04 00:09:03 · 1310 阅读 · 0 评论 -
c 语言结构中的位字段
c 语言结构中的位字段我们可以自定义数据类型----"结构体",如果结构体中的变量不需要占用很大的空间的话,我们可以使用bit, 1个bit只有两个值,1或者0. 4个bit的字段也只能放下0-16之间的数.代码如下:#include struct Bit { unsigned int a: 1; // 0 - 1 unsigned int b: 2原创 2013-01-13 00:39:41 · 847 阅读 · 0 评论 -
函数模版
函数模版:函数模版是通用的函数描述,也就是说,它们使用通用类型来定时函数,其中的通用类型可用具体的类型替换。通过将类型作为参数传递给模版,可使编译器生成该类型的函数。写个小例子如下: 1 #include 2 using namespace std; 3 4 // function template prototype 5 template 6 void Sw原创 2013-01-24 22:32:04 · 596 阅读 · 0 评论 -
c语言不定参数函数
大家都很熟悉printf这个函数。该函数的原型为:int printf(const char* format, ...); 参数format 表示如何来格式化字符串指令;...表示可选参数,调用时传递给...的参数可有可无,具体情况根据实际情况来定。 下面,是我写的一个不定参数的函数,这个函数的功能是用来写数据到文件中。void write_data(const cha原创 2011-11-08 15:02:53 · 735 阅读 · 0 评论 -
1.4 boost::array用法
boost::array 与 std::vector几乎完全一样,只不过boost::array是限定大小的。具体用法,见下面例程:#include using boost::array;#include #include using namespac原创 2011-10-10 16:05:50 · 1239 阅读 · 0 评论 -
1.3 boost::any 用法
代码如下:#include using boost::any;#include #include #include using namespace std;typedef list any_list;int main(){ an原创 2011-09-29 17:22:00 · 599 阅读 · 0 评论 -
sscanf巧用格式字符串。
名称:sscanf() 从一个字符串中,读入指定格式的数据。函数定义: int sscanf( const char *buffer, const char *format [, argument ] ... );参数:bufferStored data原创 2011-09-16 14:43:46 · 928 阅读 · 1 评论 -
获取本机时间的四种方式
//方案—优点:仅使用C标准库;缺点:只能精确到秒级#include #include int main( void ){ time_t t = time(0); char tmp[64]; strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",localt原创 2009-11-20 11:53:00 · 1188 阅读 · 0 评论 -
C++拷贝构造函数的几个细节
一 拷贝构造函数是C++最基础的概念之一,大家自认为对拷贝构造函数了解么?请大家先回答一下三个问题:1. 以下函数哪个是拷贝构造函数,为什么?X::X(const X&); X::X(X); X::X(X&, int a=1); X::X(X&, int a=1, b=2); 2. 一个类中可以存在多于一个的拷贝构造函数吗?3. 写原创 2010-05-14 12:50:00 · 573 阅读 · 0 评论 -
c 不定参数的函数
#include #include #include void arg_int( int count, ... );void arg_str( int count, ...);int main(){ arg_int(3,3,2,1); ar原创 2010-07-09 18:32:00 · 649 阅读 · 0 评论 -
LRU
介绍LRU是Least Recently Used 近期最少使用算法。内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。代码#include <stdio.h>#ifndef MIN #define MIN(A,B) ((A) < (B) ? (A) : (B))#endif#defin原创 2017-02-22 18:16:13 · 471 阅读 · 0 评论