C/C++
文章平均质量分 51
hopyGreat
这个作者很懒,什么都没留下…
展开
-
C语言宏定义中出现的do...while(0)
在很多c/c++的头文件中,可能会在宏定义里面看到do...while(0)来包含一段代码。这段循环本质上会确定执行一次,作用有点类似一组花括号包含的代码段。但他有个这样做的隐藏好处:主要用来解决宏定义使用时可能的问题先看一段代码#define __test0() f1(); f2();#define __test1() {f1(); f2();}#define __test2() do {f1(); f2();} while(0)int main() { if (co原创 2021-12-20 17:33:16 · 1325 阅读 · 0 评论 -
/usr/bin/ld: 找不到 -lxxx
一种解决办法是尝试安装:sudo apt-get -install libxxx-dev原创 2018-12-17 15:55:45 · 5162 阅读 · 0 评论 -
关于int变量的一些算法
1. int变量的二进制表示中“1”的个数例如:78= (0000 0000 0100 1110)b。所以 f(78) = 4。56 = (0000 0000 0011 1000)b。所以 f(56) = 3。int cnt = 0;while (n > 0) { cnt ++; n = n&(n-1);}2. int变量的二进制表示中最右边1的...原创 2018-12-03 21:40:05 · 2226 阅读 · 0 评论 -
优先队列 priority_queue
优先队列,是一个带有权值考虑的队列,是一种适配器,而不是容器。因为它是以queue为底层完成其所有工作,修改其接口,形成新的数据结构。它允许以下操作:1. 添加 push(val),在队列中插入一个元素。2. 删除 pop(),溢出队首元素。3. 查看队首 top(),查看队首元素。4. 判空 empty(),判断队列是否为空。5. 查看长度 size(),返回队列的长度。需要包含头文件<q...原创 2018-05-19 13:09:06 · 539 阅读 · 0 评论 -
explicit构造函数的一个小问题
先来看一段代码:#include <iostream>using namespace std;class Test{ int a;public: Test():a(0){cout<<"void";} explicit Test(int i):a(i){cout<<"int";} Test(short s):a(s){cout<<"s原创 2018-02-24 21:46:42 · 313 阅读 · 1 评论 -
C/C++学习路线图
原文地址:http://blog.csdn.net/qq_25827845/article/details/53009902最新C/C++学习路线图,和大家分享。转载 2017-04-02 16:40:36 · 491 阅读 · 0 评论 -
在Linux中使用线程
原文作者:Jagen在路上原文链接:http://blog.csdn.net/jiajun2001/article/details/12624923原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和本声明。否则将追究法律责我并不假定你会使用Linux的线程,所以在这里就简单的介绍一下。如果你之前有过多线程方面的编程经验,完转载 2017-04-06 13:54:47 · 386 阅读 · 0 评论 -
Windows下使用dev-cpp连接mysql数据库
今天试了下用C语言连接数据库,因为是第一次操作,所以也有诸多不懂的地方,在网上查找了诸多资料,终于成功连接了,所以在这里分享给大家,因为笔者也是第一次使用,所以本文讲的并不是很深入,望各位谅解。 由于编译运行环境是MinGW GCC,一开始写了一个简单的程序连接MySQL数据库的时候,遇到了一堆错误:undefined reference to `mysql_init@4'undef原创 2017-06-30 11:22:50 · 4152 阅读 · 9 评论 -
Windows应用程序画正弦曲线
本文是在Dev-Cpp下完成,新建一个Windows Application即可,已经生成好模板。此处贴上模板程序#include /* This is where all the input to the window goes to */LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM原创 2017-07-06 21:28:14 · 2983 阅读 · 1 评论 -
Windows编程--大写标识符的含义
在windows中有很多大写的标识符,这些表示符都是在Windows.h头文件中定义的。这些标识符有很多都是以两个或三个字母作为前缀,且其随后紧跟一个下划线:CS_HREDRAW DT_VCENTERSND_FILENAMECS_VREDRAW IDC_ARROWWM_CREATECW_USEDEFAULT IDI_APPLICATIONWM_DESTORYDT_CEN原创 2017-12-26 18:28:24 · 837 阅读 · 0 评论 -
匈牙利命名前缀
c char 或 WCHAR 或 TCHARby BYTE(无符号字符)n short(短整型)i int(整型)x,y int,表示 x 坐标和 y 坐标cx,cy int,表示 x 或 y 的长度, c 表示 "count" (计数)B或f BOOL(int),f 表示 "flag"w WORD(无符号短整型)l long(长整型)dw DWORD(无符号原创 2017-12-26 18:42:31 · 565 阅读 · 0 评论 -
linux中fork()函数详解
原文地址:linux中fork()函数详解(原创!!实例讲解)一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给转载 2017-12-21 17:03:02 · 184 阅读 · 0 评论 -
C语言几项主要的调用惯例
调用惯例出栈方参数传递名字修饰cdecl函数调用方从右至左的顺序压参数入栈下划线+函数名stdcall函数本身从右至左的顺序压参数入栈下划线+函数名+@+参数字节数,如函数int func(int a, double b)的修饰名是_func@12fastcall函数本身头两个DWORD(4原创 2017-11-16 20:21:21 · 734 阅读 · 0 评论