C语言中内存分配

在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的。因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题。 第1节主要介绍内存管理基本概念,重点介绍C程序中内存的分配,以及C语言编译后的可执行程序的存储结构和运行结构,同时还介绍了堆空...

2017-09-28 10:00:54

阅读数 983

评论数 0

用size命令分析linux程序内存段的分布

Size命令的输出不包括stack和heap的部分。只包括文本段(text), 代码段(data),未初始化数据段(bss)三部分。 1、文本段:包含程序的指令,它在程序的执行过程中一般不会改变。 2、数据段:包含了经过初始化的全局变量和静态变量,以及他们的值。 3、...

2017-09-28 09:47:22

阅读数 140

评论数 0

C++之引用的详解

C++中的引用: 引用引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用&代替了*。引用(reference)是c++对c语言的重要扩充。引用就是某 一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。其格式为:类型 &引用变量名 = 已定义过的变量名...

2017-09-27 13:44:05

阅读数 70

评论数 0

vector内存增长方式

一、前言     首先说明,vector可以理解为动态数组,既然是数组,那么它在内存中就应该是一块连续的内存,但vector是如何支持动态增长的呢?关于这个问题,网上有很对说法,但其中有些说法是错误的,最近看到有一篇博友的解释就非常正确vector空间动态增长,这里就针对的他的解释进行进一步...

2017-09-25 13:41:25

阅读数 113

评论数 0

函数返回值、引用和指针的区别思考

    学了引用、指针后,这些概念被教材拿去和函数搅在一起,于是使人感到很糊涂。涉及到函数返回的到底是值,引用还是指针的问题,其实就是函数返回的过程中和函数结束的过程中,哪些保留了,哪些复制了,哪些被处理掉的问题。我是这样理解的: 首先说函数内的对象的保留和处理——当函数结束的时候,所有除了堆...

2017-09-20 23:50:54

阅读数 98

评论数 0

C++智能指针与返回局部指针

智能指针:对new对象进行智能的管理,跳出相关作用域会自动删除。 不需要再调用delete。对象删除会自动调用析构函数。 这里只记录:unique_ptr 与shared_ptr      auto_ptr已经被unque_ptr替换  weak_ptr不是特别常用。 unique_ptr 是...

2017-09-20 22:25:31

阅读数 658

评论数 0

智能指针

智能指针是存储指向动态分配(堆)对象指针的类,用于生存期控制、能够确保在离开指针所在作用域时,自动正确的销毁动态分配的对象,防止内存泄露。  c++11提供了3种智能指针:std::shared_ptr, std::unique_ptr, std::weak_ptr,使用时需要引用头文件。 1....

2017-09-20 19:56:17

阅读数 118

评论数 0

宏定义的#和##

1、在一个预处理器宏中的参数前面使用一个#,预处理器会把这个参数转换为一个字符数组。(原文:When you put a # before an argument in a preprocessor macro, the preprocessor turns that argument into...

2017-09-20 18:59:36

阅读数 177

评论数 0

Qt在控件未显示时如何获取正确的控件尺寸

因为打算全屏显示一个对话框,而对话框内有几个QLabel的尺寸要在确定QLabel可用的最大尺寸后,再根据内容调整一次,所以在对话框构造函数内就想确定QLabel的最大尺寸,但因为QWidget::updateGeometry()和QWidget::update()都只能用于可见的控件,所以如何在...

2017-09-20 18:54:49

阅读数 605

评论数 0

Qt多语言实现和动态切换(国际化)

Qt 界面实现多国语言的切换实例是本文要介绍的内容,一直认为Qt界面相对于还是很好实现的一种开发。多国语界面的实现,在MFC中是很别扭的。以前在作MFC时,实现多国语言的界面,只有把资源文件做成各个语言的资源DLL,在程序启动时,根据选择判断选择载入哪个DLL来获取资源。MFC的资源也是分语言的,...

2017-09-20 16:07:56

阅读数 1212

评论数 0

C++隐式转换构造函数和隐式类型转换函数

    今天是第一次听到C++还有个转换构造函数,之前经常见到默认构造函数、拷贝构造函数、析构函数,但是从没听说过转换构造函数,隐式转换函数也是一样,C++的确是够博大精深的,再次叹服!   其实我们已经在C/C++中见到过多次标准类型数据间的转换方式了,这种形式用于在程序中将一种指定的数据转换...

2017-09-19 23:50:13

阅读数 211

评论数 0

QT 获取IP地址

Qt网络编程:获取本地Ip地址:   [cpp] view plain copy //获取本地IP片地址,   QList addList = QNetworkInterface::allAddresses();      foreach(QHostAddress addre...

2017-09-19 13:43:53

阅读数 515

评论数 0

linux下查看网关和DNS的命令

1.cat /etc/resolv.conf (看DNS) 2.netstat –r 3.cat /etc/sysconfig/network(Ubuntu10.04不行) 4.cat /etc/sysconfig/network-scripts/ifcfg-eth0(Ubuntu10...

2017-09-19 10:03:47

阅读数 21992

评论数 0

信号和槽的关联类型

函数原型: [static] QMetaObject::Connection QObject::Connection(const QObject* sender,                                                      const char* ...

2017-09-19 09:16:12

阅读数 432

评论数 0

设计资源管理类时应注意的细节

    在设计自己的资源管理类时,应该注意以下几点:1 看自己设计需要,注意Copying行为 (a)如果在你的设计中,不需要进行资源的复制,那么就禁用它(显示声明Copying行为为私有,或直接私有继承Uncopyable),因为按照传统的Copying行为很容易出现资源的重复释放,从而导致...

2017-09-18 23:36:34

阅读数 260

评论数 0

资源管理

    1. 资源管理类是如何实现资源的自动管理的? 实现资源的自动管理原理是采用对象管理机制,对象生命期结束自动调用析构函数释放资源。 其中有以下两个关键点: 第一:RAII(Resource Acquisition Is Initialization),资源获得时机即是初始化时机,获得资源...

2017-09-18 00:05:23

阅读数 257

评论数 0

为多态基类声明virtual析构函数

  一般情况下类的析构函数里面都是释放内存资源,而析构函数不被调用的话就会造成内存泄漏。我们通过virtual 析构函数,这样就可以实现当用一个基类的指针删除一个派生类的对象时,派生类的析构函数会被调用(因为当类里面有虚函数的时候,编译器会给类添加一个虚函数表,里面来存放虚函数指针,所以派生类的...

2017-09-17 00:04:32

阅读数 79

评论数 0

若不想使用编译器自动生成的函数,应该明确拒绝

    方法是:可以将对应的函数在类中进行声明,这样编译器就不会自动去生成。可行具体方案如下: (1).将这个函数在该类中声明为private,并不进行定义。 (但当本类成员函数或者友元函数进行调用时,编译期不会出错,连接时才开始出错) 代码示例:     class HomeForS...

2017-09-16 00:09:03

阅读数 98

评论数 0

C++类的三种数据成员:常量(const)、静态(static)、普通 的赋值方式

  1. C++类有4种数据成员,由声明数据成员时修饰数据成员的关键字决定: static就是静态数据成员, const就是常量数据成员, 既有const又有static(这种方式根据编译器的不同,可以采用const或者static的初始化方式) 既没有static也没有const那就是...

2017-09-11 23:20:42

阅读数 304

评论数 0

显式构造函数

C++ 为类(Class)提供了许多默认函数。如果自己没有申明,编译器会为我们提供一个copy构造函数、 一个copy assignment操作符和一个析构函数。此外,如果没有申明任何构造函数, 编译器会为我们申明一个default构造函数。很像下面的Empty类: class Empty { ...

2017-09-10 23:39:24

阅读数 192

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭