c++
penghuilater
这个作者很懒,什么都没留下…
展开
-
内联函数与宏
定义:当函数被声明为内联函数之后, 编译器会将其内联展开, 而不是按通常的函数调用机制进行调用.内联的工作机制内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。编译时,类似宏替换,使用函数体替换调用处的函数名。一般在代码中用inline修饰,但是能否形成内联函数,需要看编译器对该函数定义的具体处理。什么时候用内联函数内联是用来消除函数调用时的时间开销。它通常用于频繁执行的函数原创 2016-09-01 15:02:54 · 340 阅读 · 0 评论 -
Makefile error
makefile时常遇到这样的问题,汇总网上的原因如下:1. 上一行换行符号 \ 后面有空格2. 本行前面的空白有非法字符makefile时常遇到这样的问题,汇总网上的原因如下:1. 上一行换行符号 \ 后面有空格2. 本行前面的空白有非法字符1)Makefile可能是以命令行开始:原创 2016-12-12 15:16:09 · 2121 阅读 · 1 评论 -
c++的标准输入输出流
在c++中,除了标准的输入、输出流cin和cout外,还包含了cerr和clog两个输出流。其中,cerr流是指无缓冲标准错误输出流,其对象是标准错误流,指定为与显示器关联。cerr流和cout作用类似,区别在于cout通常是传到显示器输出,但可以被重定向输出到文件,而cerr也可以在显示器输出,但是无法进行重定向输出。实验:在一个程序中同时用到cout和cerr输出字符。1、在开原创 2016-12-12 15:38:42 · 591 阅读 · 0 评论 -
字符的操作
在C++中进行字符串的操作时,gets()和puts()函数的使用比较频繁,其与cin和cout语句是有区别的。例如用gets(str1) hello world cin(str1) hello world然后用统计字符串长度的strlen()统计两种输入的区别,发现gets()输入的字符串长度是11,而cin()输入的是5,这是因为cin语句输入带空格的字符串原创 2016-12-12 15:41:17 · 240 阅读 · 0 评论 -
C++中#define的用法
C++中 #define的用法 转自:http://www.dingge.com/main/article.asp?id=10今天整理了一些#define的用法,与大家共享!1.简单的define定义#define MAXTIME 1000一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写if(i编译器在处理这个代码之前会对MAXTIME进行处理转载 2017-01-05 11:38:12 · 298 阅读 · 0 评论 -
c 调用gtk剪贴板
#include #include #include GError *err = NULL; screenShotPix.save("/tmp/deepin-screenshot.png", "PNG"); GdkPixbuf* pixbuf = gdk_pixbuf_new_from_file(QString( "/原创 2017-04-28 16:00:17 · 814 阅读 · 0 评论 -
在 linux 下使用 CMake 构建应用程序
原链接:https://www.ibm.com/developerworks/cn/linux/l-cn-cmake/index.htmlCMake 简介CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects转载 2017-10-24 13:28:28 · 226 阅读 · 0 评论 -
opencv 链接共享库文件失败
error while loading shared libraries: libopencv原创 2017-11-03 16:55:46 · 731 阅读 · 0 评论 -
使用delete删除指针
原文:http://blog.sina.com.cn/s/blog_6405313801013jvg.html用delete命令处理某个指针,说是把那个指针删除了是不正确的。delete命令指示释放了那个指针原本所指的那部分内存而已。被delete后的指针p的值(地址值)并非就是NULL,而是随机值。也就是被delete后,如果不再加上一句p=NULL,p就成了“野指针”,在内存里乱指转载 2016-12-12 13:48:14 · 9244 阅读 · 0 评论 -
【干货】国外程序员整理的 C++ 资源大全
摘要:C++是在C语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言。应用较为广泛,是一种静态数据类型检查的,支持多重编程的通用程序设计语言。关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。标准库C++ Standard转载 2016-12-01 10:34:53 · 414 阅读 · 0 评论 -
获取挂载设备的信息 gio
使用GVolumeMonitor获取挂载设备的监控#include #include static voiddo_action(char* cmd){ g_print("[do_action] start to exec: %s\n", cmd); GError* error = NULL; g_spawn_command_line_sync(cmd, NULL,原创 2016-11-09 17:01:31 · 1342 阅读 · 0 评论 -
include的顺序
项目内头文件应按照项目源代码目录树结构排列, 避免使用 UNIX 特殊的快捷目录 . (当前目录) 或 .. (上级目录). 例如, google-awesome-project/src/base/logging.h 应该按如下方式包含:#include "base/logging.h"又如, dir/foo.cc 的主要作用是实现或测试 dir2/foo2.h 的功能, foo.cc 中包含头文件原创 2016-09-01 15:08:12 · 695 阅读 · 0 评论 -
TODOread
http://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/contents/原创 2016-08-12 16:28:10 · 247 阅读 · 0 评论 -
指针
定义指针是一个变量,起存储的是值的地址,而不是值本身。首先,如何找到常规变量的地址,只需要对变量使用地址操作符(&):例如home 是一个变量,则&home是它的地址。 其次,*操作符被称为间接值(indirect value)或者解除引用的操作符,使用它,可以得到该地址处存储的值。 声明和初始化计算机需要跟踪指针指向的值的类型。例如,char的地址与double的地址看上去都是一样的,但是原创 2016-08-12 16:02:42 · 308 阅读 · 0 评论 -
const的使用
const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。const与基本数据类型const int x = 3, 那x就由一个变量变成了一个常量。const与指针可以用两只不同的方式const用于指针:将指针指向一个常量对象,这样可以防止使用该指针来修改所指向的值。 将指针本身声明为常量。const int* p = NULL; int const *p = NULL; 这两种原创 2016-08-12 16:25:56 · 200 阅读 · 0 评论 -
多线程
POSIX表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,其正式称呼为IEEE 1003,而国际标准名称为ISO/IEC 9945。--------------------翻译 2016-09-14 17:15:53 · 583 阅读 · 0 评论 -
多线程 pthread学习之一
一个简单的duo例子 thread_demo1.c : #include #include #include #include static void wait(void) { time_t start_time = time(NULL); while (time(NULL) == start_time) { /* do nothing原创 2016-09-19 17:05:08 · 442 阅读 · 0 评论 -
图片的类型匹配
图片的类型如何判断,在处理图片中,用图片的后缀是不太可靠的,根据图片获取的图片数据进行数据类型匹配QFile file(filepath); if (!file.open(QIODevice::ReadOnly)) { qWarning() << "DetectImageFormat() failed to open file:" << filepath;原创 2016-10-27 15:59:04 · 407 阅读 · 0 评论 -
映射和多重映射
映射和多重映射用于对数据进行快速和高效的检索。同样的,在程序中使用映射和多重映射容器需添加如下头文件:#include此外,映射map支持下表运算符operator[],可以用访问普通数组的方式访问map,或下标为map的键。而在multimap中一个键可以对应多个不同的值。 #include #include using namespace std;int main(原创 2018-02-05 15:49:03 · 974 阅读 · 0 评论