![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++基础语法
盖世天才
这个作者很懒,什么都没留下…
展开
-
malloc、calloc、realloc的区别
(1)C语言跟内存分配方式从静态存储区域分配. 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量、static变量.在栈上创建 在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放.栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限.从堆上分配,亦称动态内存分配转载 2012-11-10 11:54:54 · 821 阅读 · 0 评论 -
浅谈C++中强制类型转换函数
我们都知道,无论是用那种程序设计语言,通过强制类型转换函数 ,每个函数都可以强制将一个表达式转换成某种特定数据类型。下面介绍C++中的强制类型转换函数。 标准c++中主要有四种强制转换类型运算符: const_cast, reinterpret_cast, static_cast, dynamic_cast等等。 1)static_cast(a) 将地址a转载 2012-11-18 15:24:39 · 1898 阅读 · 0 评论 -
C++ 操作符重载
C++操作符重载手册 C++ Operator Overloading一、重载规则I.可以重载的操作符+-*/%^&|~!=>+=-=*=/=%=^=&=|=>>>>===!=>=&&||++--->*,->[]()operator newoperator new[]operator deleteoperator delete []II.不能重载的操作符:: . .*转载 2012-12-24 21:19:49 · 1074 阅读 · 0 评论 -
C++中的placement new
一.new、operator new 和 placement new 区别new 操作符的执行过程1. 调用operator new分配内存 ;2. 调用构造函数生成类对象;3. 返回相应指针。 new :不能被重载,其行为总是一致的。它先调用operator new分配内存,然后调用构造函数初始化那段内存。operator new:要实现不同的内存分配行为,应该重载o转载 2012-12-26 19:21:25 · 538 阅读 · 0 评论 -
STL源码剖析---list
相较于vector的连续线性空间,list就显得复杂许多,它的好处是每次插入或删除一个元素,就配置或释放一个元素空间。因此,list对于空间的运用有绝对的精准,一点也不浪费。而且,对于任何位置的元素插入或元素移除,list永远是常数时间。list不仅是一个双向链表,而且还是一个环状双向链表。另外,还有一个重要性质,插入操作和接合操作都不会造成原有的list迭代器失效,这在vector是不成立的转载 2013-02-26 11:32:29 · 515 阅读 · 0 评论 -
VC++,掀起你的盖头来——谈VC++对象模型
此文转载自http://blog.csdn.net/wfwd/article/details/763797 译者前言一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释。Inside the C++ Object Model虽然是一本好书,然而,书的篇幅多一些,又和具体的VC++关系小一些。因此转载 2013-03-25 12:52:04 · 773 阅读 · 0 评论 -
智能指针---浅显易懂,一学就会
以下转自http://blog.csdn.net/wfwd/article/details/1964683 首先来看SmartPtr的定义:#pragma once#include ///////////////////////////////////////////////////// a simple smart pointer wrapper class, us转载 2013-03-25 17:21:31 · 725 阅读 · 0 评论