C++
RomJepson
这个作者很懒,什么都没留下…
展开
-
字面量、常量作实参注意事项
1. 可以传到const T *参数,但尽量不传到T *参数(T表示某种数据类型);2. 可以传到const T &参数,但不要传到T &参数。原创 2012-08-28 19:19:51 · 259 阅读 · 0 评论 -
strtok用法注意
详细用法请参考:http://baike.baidu.com/view/1028553.htm注意:1. 被分割的原字符串会被修改;2. 只是将原字符串中匹配到的分隔符字符串的首字符修改为'\0'示例:#include #include #include int main() { char sentence[] = "This,,is,,a,,sentence,,wi原创 2012-08-26 15:56:27 · 432 阅读 · 0 评论 -
Linux多进程编程
#include #include pid_t test_pid = fork();if(0 == test_pid){ execl("/usr/local/bin/test", "test", "-f", "-g", NULL);}原创 2012-08-25 18:43:45 · 250 阅读 · 0 评论 -
函数指针
1. 简单函数指针格式:返回类型 (*函数名)(参数列表)示例:#include #include char (*p_fun)(int a);char gl_fun(int a);int main() { p_fun = gl_fun; printf("The character is %c\n", p_fun(65)); return EXIT_SUCCESS;}原创 2012-08-25 19:20:18 · 227 阅读 · 0 评论 -
C语言复制字符串
char str1[20] = {0};const char *str2 = "Hello world!";strncpy(str1, str2, sizeof(str1) - 1);str1[sizeof(str1)-1] = '\0';原创 2012-08-25 19:30:28 · 1080 阅读 · 0 评论 -
头文件包含
include 时请使用/不要使用\,要不移植可能会出问题。原创 2012-08-25 19:33:22 · 963 阅读 · 0 评论 -
最小头文件设计好处
1. 减小程序中不同部分之间的相互依赖;2. 使程序易于理解;3. 有更好的数据隐藏性、安全性;4. 编译更快。原创 2012-08-28 19:15:26 · 287 阅读 · 0 评论 -
浅谈C++多态性
http://blog.csdn.net/hackbuteer1/article/details/7475622转载 2012-08-28 19:31:25 · 179 阅读 · 0 评论 -
gdb常用命令
1.在gdb中运行程序gdb gdb PIDattach PID #附加到进程上进行调试detach PID #取消附加quit(q) #退出gdbrun(r) #运行程序2.查看运行信息show args #查看设置好的运行参数set args #设置运行时参数pwd #显示当前目录show paths #查看程序运行路径3.调试原创 2012-08-28 20:39:09 · 294 阅读 · 0 评论 -
int, float和double的内存结构
假设为32位机器int: 符号位为第31位,数值位为第0~30位float: 符号位为第31位,23~30为指数部分,0~22小数部分double: 符号位为第63位,52~62为指数部分,0~51小数部分原创 2012-08-28 21:15:44 · 423 阅读 · 0 评论 -
extern C
extern "C"是一种链接规范,表示在C++中指定的代码块按照C语言的规范进行链接,通常C/C++混合编程。原创 2012-08-26 11:54:41 · 453 阅读 · 0 评论 -
指针数组和数组指针
数组指针:指向数组的指针,首先是一个指针,其次指向的类型是数组。指针数组:元素为指针的数组,首先是一个数组,其次每个元素都指针。示例:#include #include int main() { int a[2][2] = {{1, 2}, {3, 4}}; int (*p)[2]; //数组指针 char *s[2] = {"hello", "world"}; //指针原创 2012-08-26 11:47:02 · 386 阅读 · 0 评论 -
C++对象的复制
http://see.xidian.edu.cn/cpp/biancheng/view/208.html转载 2012-08-28 19:35:20 · 326 阅读 · 0 评论 -
volatile和restrict
volatile关键字告诉编译器在每次使用此对象的值时,都要重新读取,即使程序本身没有修改它的值。restrict只适用于对象指针类型,是C99新加的,用来告诉编译器,此指针所指向的对象如果被修改,就不可以被此指针以外的方式所存取,不管是直接还是间接。原创 2012-08-25 18:46:35 · 218 阅读 · 0 评论 -
引用与内存管理
示例:#include #include #include #include using namespace std;void right_function();void wrong_function();typedef struct Entity { void *value; void set_vaue(void *value, size_t size);} Ent原创 2012-08-26 16:34:07 · 299 阅读 · 0 评论 -
函数返回局部变量地址
示例:#include #include #include const char *get_str1();const char *get_str2();int *add(int a, int b);int main() { const char *str1 = get_str1(); const char *str2 = get_str2(); int *sum = ad原创 2012-08-26 19:44:37 · 399 阅读 · 0 评论 -
C语言调用方式
1. __stdcall调用__stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,被调函数自身在返回前清空堆栈。2. __cdecl调用__cdecl是C/C++的缺省调用方式,参数采用从右到左的压栈方式,传送参数的内存栈由调用者维护。3. __fastcall调用_fastcall调用较快,前两个参数通过ecx和edx传递,其它参数从右向左的顺序压原创 2012-08-26 20:12:43 · 947 阅读 · 0 评论 -
0x0150002失败
1. 通过"我的电脑"->"管理"->"事件查看器",然后查看系统日志,可以看到出错的原因是缺少了某个版本的CRT之类的信息,一般类似Microsoft.VC90.DebugCRT;2. 到C:\Windows\WinSxS或VC的安装目录下搜索类似于Microsoft.VC90.DebugCRT之类的信息,将搜索到的dll和manifest文件都复制到应用程序的根目录下就可以了。原创 2012-08-25 15:26:10 · 2163 阅读 · 0 评论 -
const和指针
const int* p1; //指针可以修改,但是指向的内容不可以改变int* const p2; //指针不能修改(指向的地址不能改变),但是指向的内容可以修改const int* const p3; //指针和指向的内容不可以改变原创 2012-08-25 18:38:31 · 256 阅读 · 0 评论 -
Linux打印不同颜色字符串
格式:颜色字符 需要打印的字符串注意:使用完颜色字符串后,记住要恢复。示例:#include #include #define NONE "\033[m"#define RED "\033[0;32;31m"#define LIGHT_RED "\033[1;31m"#define GREEN "\033[0原创 2012-08-26 10:43:19 · 1373 阅读 · 0 评论 -
动态库示例
关于dlopen用法请参考:http://baike.baidu.com/view/2907309.htm注意:测试下面示例时要加入-ldl示例:#include #include #include void test_dll();int main() { test_dll(); return EXIT_SUCCESS;}void test_dll() { i原创 2012-08-26 11:38:50 · 312 阅读 · 0 评论 -
'UINT64_C' was not declared in this scope
问题:'UINT64_C' was not declared in this scopecommon.h libavutilline 173'av_clipl_int32' could not be resolvedcommon.h libavutilline 198参考:http://code.google.com/p/ffmpegsource/issues/de翻译 2013-04-01 10:24:41 · 993 阅读 · 0 评论