C++
lemontree1945
这个作者很懒,什么都没留下…
展开
-
extern "C"用法解析
C++保留了一部分过程式语言的特点,因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的...转载 2018-06-24 10:04:29 · 253 阅读 · 0 评论 -
Linux:信号(1):signal函数、pause函数、alarm函数
想要有顺序地学习Linux,入口在这里哦:Linux:目录索引 一、信号 1.什么是信号? 2.哪些情况下会产生信号? 3.如何查看信号? 4.常用信号解释 5.处理的三种方式 二、操作信号 1.注册信号 ①作用 ②注册信号所使用的函数signal() ③实例验证 ④另一个可以获取信号的函数pause() 2.给进程发送信号 ...转载 2018-09-12 17:14:23 · 2016 阅读 · 1 评论 -
C++ 拷贝构造函数和赋值运算符
本文主要介绍了拷贝构造函数和赋值运算符的区别,以及在什么时候调用拷贝构造函数、什么情况下调用赋值运算符。最后,简单的分析了下深拷贝和浅拷贝的问题。拷贝构造函数和赋值运算符在默认情况下(用户没有定义,但是也没有显式的删除),编译器会自动的隐式生成一个拷贝构造函数和赋值运算符。但用户可以使用delete来指定不生成拷贝构造函数和赋值运算符,这样的对象就不能通过值传递,也不能进行赋值运算。...转载 2018-09-05 16:23:16 · 163 阅读 · 0 评论 -
C++拷贝构造函数详解
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 运行程序,屏幕输出100。从以上代码的运行结果可以看出,系统为对象 B 分配了内存并完成了与对象 A 的复制过程。就类对象而言,相同类...转载 2018-09-05 16:01:05 · 148 阅读 · 0 评论 -
Linux下ACE、xml解析库开发环境搭建
一、安装环境 1、安装vmware12.0版本 2、安装centos6.6的镜像文件 3、安装vmare_tool工具(方便虚拟机与实体机的切换) 4、配置网络 虚拟机网络连接方式:桥接模式(B)直接连接物理网络 安装完成后设置虚拟机网络(ipv4)为固定IP地址(system-config-network) 进行网络测试OK,则操作系统环境准备完毕...转载 2018-08-30 14:12:30 · 354 阅读 · 0 评论 -
linux下编译安装ACE-6.5.1
我用的系统是ubuntu12.04,选择的ACE版本是6.3.1。1.在官网http://download.dre.vanderbilt.edu/上下载最新版本的ACE+TAO+CIAO.tar.bz2。 保存在/home/用户名/Software文件夹下。2.解压文件。之后会出现一个名字为ACE_wrappers的文件夹。 这样所有ACE的源文件都在/home/用户名/Softwar...原创 2018-09-04 10:49:26 · 1422 阅读 · 0 评论 -
c++ array模板类使用
目录1、array模板类的定义(1)array模板类的声明(2)容器属性(3)array模板类的说明(4)array模板类头文件2、array模板类的使用(1)Iterators(2)Capacity(3)Element access(4)Modifiers(5)Compare(6)Other本章是对c++ array模板类的知识归纳,讲述了c+...转载 2018-08-29 09:50:38 · 707 阅读 · 0 评论 -
const iterator 和const_iterator的区别
这是个困扰我很久了的问题,可能一开始对面向对象的理解不够深。刚刚想明白了,随手记录一下。先从const iterator和const_iterator说起const iterator 是iterator本身是个常量,iterator本身里面存的是指针,也就是iterator的值,也就是那个指针不能改变,也就是不能指向其他的位置,但是所指向的位置的元素是可以通过这个iterator来改变的...原创 2018-08-29 09:25:27 · 1146 阅读 · 0 评论 -
gcc g++ 支持c++11编译的标准和区别
g++ -g -Wall -std=c++11 main.cppgcc -g -Wall -std=c11 main.cpp如果不想每次写这个-std=C++11这个选项该怎么办呢? 方法出处:http://stackoverflow.com/questions/16886591/how-do-i-enable-c11-in-gcc 方法1:写Makefile 方法2:取...转载 2018-08-29 09:09:47 · 2214 阅读 · 0 评论 -
linux如何安装infer
facebook推出infer静态代码检测工具编译和安装是相对复杂的一个操作,官方文档是英文的,安装顺序也有点乱,而且部分依赖插件也没有给出安装步骤,如果安装的时候不注意很容易导致问题。因此,将我在Linux上的安装过程分享出来,作为一份中文参考文档。 依赖插件插件是编译infer的先决条件,linux下需要依赖的插件如下:opam >= 1.2.0 Python 2.7 J...原创 2018-08-31 16:36:53 · 1235 阅读 · 0 评论 -
double free or corruption 错误解决办法
在编写clutter和glib程序时,可能会出现此错误错误的原因可能是像错误的字面原因所示的一样,也可能是因为其它原因.但是最主要的因为以下两个函数的使用:clutter_actor_destroy的调用和g_free这两个函数都是销毁一个指针所指向的对象,但是,不止这一个共同点它们在释放掉指针所指的对象后,都不会将指针赋NULL值. 如果在不小心再次调用clutter...转载 2018-08-28 20:16:15 · 35739 阅读 · 1 评论 -
c++string类的常用方法详解
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 int main() 6 { 7 string str1 = "hello"; 8 string* str2 = new string("hello"); 9 string str3...转载 2018-08-28 14:53:55 · 359 阅读 · 0 评论 -
C++ const用法 尽可能使用const
C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。1.const 修饰成员变量 1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int a1=3...转载 2018-08-28 10:45:26 · 122 阅读 · 0 评论 -
c++友元函数及运算符重载
c++的类和java的类机制着实不大一样,不仅仅是语法,还包括一些特殊的东西,如c++用友元函数来破坏类的封装性,使得外界(友元函数体)可以访问类的私有属性,而java呢,java则可以通过反射机制类在类的外部访问类的私有属性,从而破坏类的封装性,而不仅这点,java中没有什么运算符重载,而c++中提供了运算符重载技术使得我们自定义的类型(类)也可以想基本数据类型一样进行的运算符(+,-,*,/...转载 2018-08-14 15:54:32 · 1172 阅读 · 1 评论 -
struct timeval结构体 以及 gettimeofday()函数
一、struct timeval结构体struct timeval结构体在time.h中的定义为:struct timeval { __time_t tv_sec; /* Seconds. */ __suseconds_t tv_usec; /* Microseconds. */ };其中,tv_sec为Epoch到创建struct timeval时的秒数,tv_...转载 2018-08-14 14:11:44 · 342 阅读 · 0 评论 -
反应器(Reactor):用于事件多路分离和分派的体系结构模式
原文:http://huangxx.iteye.com/blog/193742 通常的,对一个文件描述符指定的文件或设备, 有两种工作方式: 阻塞与非阻塞。所谓阻塞方式的意思是指, 当试图对该文件描述符进行读写时, 如果当时没有东西可读,或者暂时不可写, 程序就进入等待状态, 直到有东西可读或者可写为止。而对于非阻塞状态, 如果没有东西可读, 或者不可写, 读写函数马上返回, 而不会等待。...转载 2018-08-14 11:53:07 · 441 阅读 · 0 评论 -
C++结构体:默认构造函数,复制构造函数,重载=运算符
新博客地址 www.virtclouds.com原文地址 http://www.virtclouds.com/544.html C++结构体提供了比C结构体更多的功能,如默认构造函数,复制构造函数,运算符重载,这些功能使得结构体对象能够方便的传值。比如,我定义一个简单的结构体,然后将其作为vector元素类型,要使用的话,就需要实现上述三个函数,否则就只能用指针了。 #inc...转载 2018-08-14 08:38:25 · 3121 阅读 · 0 评论 -
Linux GCC常用命令
1简介2简单编译2.1预处理2.2编译为汇编代码(Compilation)2.3汇编(Assembly)2.4连接(Linking)3多个程序文件的编译4检错5库文件连接5.1编译成可执行文件5.2链接5.3强制链接时使用静态链接库1简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Ja...转载 2018-06-30 11:08:39 · 127 阅读 · 0 评论 -
linux几种时间函数总结
一、Linux函数总结最近的工作中用到的时间函数比较频繁,今天抽时间总结一下,在linux下,常用的获取时间的函数有如下几个: asctime, ctime, gmtime, localtime, gettimeofday , mktime, asctime_r, ctime_r, gmtime_r, localtime_r二、常用的结构体(1)struct tm ;...转载 2018-09-21 09:31:24 · 146 阅读 · 0 评论