![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++ 技术
接口一混
电信,通信行业的码农
展开
-
C++中volatile的作用
volatile的语法和const的是一样的,但是volatile的意思是“在编译器认识的范围外,这个数据可以改变”。环境正在改变数据(可能通过多任务、多线程或者中断处理),所以,volatile告诉编译器不要擅自做出有关该数据的任何假定,优化期间尤其如此。 volatile的本意是一般有两种说法--1.“暂态的”;2.“易变的”。 其实Volatile是由于编译器优化所造成的一个Bug而转载 2013-11-08 23:29:09 · 720 阅读 · 0 评论 -
c/c++内存分配(栈与堆的区别)
一、在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 1.栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 2.堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程>序结束后,操作原创 2013-11-08 23:07:11 · 689 阅读 · 0 评论 -
共享内存多进程间通信,进程间同步使用信号量来实现
Linux 环境下C编程指南,通过共享内存进行进程间通信的例子,进程间同步使用信号量来实现。 代码 11-5 使用说明:这是一个简单的服务器和客户端程序,如果启动程序时不带参数,则执行服务器程序; 如果带参数,则执行客户端程序,所带参数只有一个,就是服务器端所显示的共享内存的引用ID。 实现原理:服务器端启动后,创建信号量和共享内存,并将共享内存的引用ID显示出来,将信号量原创 2013-11-09 15:40:40 · 8084 阅读 · 2 评论 -
对vector等STL标准容器进行排序操作
STL几乎封装了所有的数据结构中的算法,从链表到队列,从向量到堆栈,对hash到二叉树,从搜索到排序,从增加到删除......可以说,如果你理解了STL,你会发现你已不用拘泥于算法本身,从而站在巨人的肩膀上去考虑更高级的应用。 排序是最广泛的算法之一,本文详细介绍了STL中不同排序算法的用法和区别。 1 STL提供的Sort 算法 C++之所以得到这么多人的喜欢,是因为它既具有面转载 2013-11-10 17:00:10 · 628 阅读 · 0 评论 -
友元函数的说明
友元函数 friend 类型名 友元函数名(形参表); 然后在类体外对友元函数进行定义,定义的格式和普通函数相同,但可以通过对象作为参数直接访问对象的私有成员 说明如下 1)必须在类的说明中说明友元函数,说明时以关键字friend开头,后跟友元函数的函数原型,友元函数的说明可以出现在类的任何地方,包括在private和public部分; 2)注意友元函数不是类的成员函数,所以友元函数的实原创 2015-06-25 19:28:03 · 663 阅读 · 0 评论