![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 79
「已注销」
这个作者很懒,什么都没留下…
展开
-
C++中内存分配详解
一、内存基本构成可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量转载 2016-01-20 10:53:55 · 250 阅读 · 0 评论 -
C++封装、继承、多态
面向对象的三个基本特征 面向对象的三个基本特征是:封装、继承、多态。其中,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用! 1、什么是封装? 封装可以隐藏实现细节,使得代码模块化;封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一转载 2016-01-20 11:53:49 · 356 阅读 · 0 评论 -
C++中的指针
C++程序设计重要基础就是类和对象,对象指针是很重要的一部分,包括指向对象的指针、指向对象成员的指针、this指针、指向对象的常指针、指向常对象的指针等。 1、指向对象的指针定义:对象空间的起始地址就是对象的指针。说明:在建立对象时,编译系统就为每个对象分配一定的存储空间以存放其成员,不过注意,在一般情况下不同对象的数据存储单元中存放的数据成员是不相同,而不同对象的函数代码却是相同的,也就是说,它转载 2016-01-22 20:24:50 · 298 阅读 · 0 评论 -
十个最值得阅读学习的C开源项目
开源世界有许多优秀的开源项目,我选取其中十个最优秀的、最轻量级的C语言的项目,希望可以为C语言开发人员提供参考。 Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到60转载 2016-01-22 20:31:30 · 709 阅读 · 0 评论 -
Socket编程
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。1.什么是TCP/IP、UDP?2.Socket在哪里呢?3.Socket是什么呢?4.你会使用它们吗?什么是TCP/IP、UDP?TCP/I转载 2016-01-26 08:45:44 · 290 阅读 · 0 评论 -
多线程及其同步
多线程程序能够充分利用多核CPU,提升程序性能。在编写多线程程序时,我们首先需要考虑的问题是如何协调好各个线程之间的工作,让他们有条不紊的共同高效完成工作,即:线程同步。Linux中,可以通过互斥锁、条件变量、信号量、读写锁等来解决线程的资源同步问题。此外,在多线程编程实现线程同步过程中,尤其需要注意避免发生死锁现象。关于死锁,详细说明如下:计算机系统中,如果系统的资源分配策略不当,更常见的可能是程转载 2016-01-28 21:27:46 · 278 阅读 · 0 评论