C/C++
文章平均质量分 83
jason09527
这个作者很懒,什么都没留下…
展开
-
怎么进行CodeReview
怎么进行Code review?需求功能是什么?功能之外的需求可用性/易用性、可测试、目标性能、安全性、扩展性、可用性等监控、打点设计1. 方案设计是否合理表定义:是否需要分库/分表?根据业务预期增长情况考虑、2~3年缓存:Redis、本地缓存、Redis数据结构设计是否合理:zset、hash、string、set等- 大key问题?- 热key问题?数据结构/模型定义相关分层结构?- 同样的代码逻辑是否集中在同一个服务/模块中,而不是零散在多个原创 2020-11-24 22:14:28 · 632 阅读 · 0 评论 -
在vs2005中用正则表达式查找或替换
Example:查找#incldue中带有gl开头的头文件的,用include.+或include.+ VS2005中的【查找/替换】拥有强大的正则匹配功能 eg. DBAssist.ToInt32(p_dtrSou转载 2011-08-12 18:46:45 · 1041 阅读 · 0 评论 -
linux下安装protobuf教程+示例(详细)
1 在网站 http://code.google.com/p/protobuf/downloads/list上可以下载 Protobuf 的源代码。然后解压编译安装便可以使用它了。安装步骤如下所示: tar -xzf protobuf-2.1.0.tar.gz cd protobuf-2.1.0 ./configure --prefix=/usr/local/protobu转载 2013-12-28 17:48:27 · 750 阅读 · 0 评论 -
使用gprof测量程序运行时间
gprof使用详细介绍 linux下c/c++编程gprof介绍gprof是GNU profiler工具。可以显示程序运行的“flat profile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“调用图”,包括函数的调用关系,每个函数调用花费了多少时间。还可以显示“注释的源代码”,是程序源代码的一个复本,标记有程序中每行代码的执行次数。基本用法:1.转载 2012-07-20 23:13:34 · 1559 阅读 · 0 评论 -
va_list va_start va_arg va_end 详解
va_list 详解VA_LIST 是在C语言中解决变参问题的一组宏他有这么几个成员:1) va_list型变量:#ifdef _M_ALPHAtypedef struct { char *a0; /* pointer to first homed integer argument */ int offset;转载 2012-05-08 22:59:02 · 992 阅读 · 0 评论 -
Linux共享库的加载与使用
采用下面几个函数加载动态库头文件:dlfcn.h2.1.1 dlerror 原型为: const char *dlerror(void); 当动态链接库操作函数执行失败时,dlerror可以返回出错信息,返回值为NULL时表示操作函数执行成功.2.1.2 dlopen 原型为: void *dlopen (const char *filename, int flag)转载 2012-01-08 22:55:23 · 636 阅读 · 0 评论 -
#pragma pack(整理)
目录一、n字节的对齐方式二、#pragma pack(n) 对齐用法详解编辑本段一、n字节的对齐方式 VC对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式。原创 2011-07-31 23:41:31 · 492 阅读 · 0 评论 -
C++中int到string的转换
2009-09-18 15:371. 1、int sprintf( char *buffer, const char *format [, argument] ... ); 例如:Cpp代码int s原创 2011-07-31 23:44:03 · 1091 阅读 · 0 评论 -
memcpy 与memmove的比较
memcpyfunctionvoid * memcpy ( void * destination, constvoid * source, size_t num );Copy block of memoryCopies the values of num byte原创 2011-07-31 23:39:26 · 1266 阅读 · 0 评论 -
memcpy memmove 区别
memcpy function void * memcpy ( void * destination, const void * source, size_t num ); Copy block of memory Copies the values of num bytes from the location pointed by source directly to the memory block pointed by destination. The underlying type原创 2010-10-08 06:36:00 · 1418 阅读 · 0 评论 -
C、C++题目笔记
<br />1.2、下面程序输出什么?<br /> <br />1.2、下面程序输出什么?main() {int a[5]={1,2,3,4,5};int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr - 1));} <br /><br />输出:2,5<br />*(a+1)就是a[1],*(ptr-1)就是a[4],执行结果是2,5<br />&a+1不是首地址+1,系统会认为加一个a数组的偏移,是偏移了一个数组的大小(本例是原创 2010-06-19 20:54:00 · 488 阅读 · 0 评论 -
C++关于读入多行的整型数据
1、//关于C++读入多个整型数据,包含换行的办法使用istringstream getline 头文件 #include #include using namespace std;string buf;int data[N];getline(cin, buf);istringstream stream(buf);while(str原创 2010-05-10 20:10:00 · 2348 阅读 · 0 评论 -
MORE EFFECTIVE c++ 1
Item1 指针与引用 当你知道要指向一个对象,并且不会再指向其他对象时,应该使用引用。当实现某些操作符时,如果这些操作符在语义上要求使得指针不可行,此时,仍需要使用引用。其他情况下使用指针。 Item2 Item3 绝不要把多态应用于数组 array[i]实际上是指针运算表达式的缩写。它表示的是*(array+i)。 数组和多态不能一起原创 2009-11-25 10:27:00 · 396 阅读 · 0 评论 -
typename另外一篇文章
/******************************************************************************* * SGI*STL是STL之父Alexander Stepanov和STL巨匠Matt Austern等人的作品, 是当今 * * 最富盛名、最出色的STL实现版本,全部源代码和说明文档可从www.sgi.com/转载 2009-04-29 22:37:00 · 631 阅读 · 0 评论 -
1. C++关键字typename(转)
问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同? template class Widget; // uses "class"template class Widget; // uses "typename"答案:没什么不同。在声明一个 template type parameter(模板类型参转载 2009-04-29 22:18:00 · 575 阅读 · 0 评论