![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C C++
文章平均质量分 70
speed847
这个作者很懒,什么都没留下…
展开
-
C++对象赋值的四种方式
http://blog.csdn.net/ostrichmyself/article/details/6076434 1. 引用作为参数的方式传递. GetObject(Object& obj){ obj.value = value1;} 特点: 在外部构造一个对象. 把该对象以引用的方式传递到函数中. 从而实现对该对象的改变, ...原创 2013-11-07 02:04:09 · 337 阅读 · 0 评论 -
c++ STL 之 vector
http://blog.csdn.net/phoebin/article/details/3864590 介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型...原创 2014-01-05 04:30:54 · 66 阅读 · 0 评论 -
c++ STL 之 set
http://www.cnblogs.com/agpro/archive/2010/06/23/1763536.html STL-set用法// 1.set::begin/end#include <iostream>#include <set>using namespace std;int main (){ int myin...原创 2014-01-05 07:56:01 · 76 阅读 · 0 评论 -
c++ STL 之 map
http://www.kuqin.com/cpluspluslib/20071231/3265.html Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种...原创 2014-01-05 14:39:12 · 61 阅读 · 0 评论 -
new delete 例子
http://blog.163.com/liumaohua890413@126/blog/static/35785164201010954850292/ 最近一直在啃 C++ Primer 中文版第4版,发现 C++中new和delete应用遍布全书,现对其使用作简单总结。在C++中,可以使用new和delete动态创建和释放数组或者单个对象,现在对它们的使用一一道来。1.创建动态数组...原创 2014-01-07 14:40:10 · 108 阅读 · 0 评论 -
二维数组
http://our2848884.blog.163.com/blog/static/146854834200992291329145/ 二维数组new小结 1. A (*ga)[n] = new A[m][n]; ... delete []ga; 缺点:n必须是已知 优点:调用直观,连续储存,程序简洁(经过测试,析构函数能正确调用) 2. A** ga = new A*[m]; for...原创 2014-01-07 23:12:34 · 68 阅读 · 0 评论 -
C语言内存管理-字符数组与字符指针
http://blog.csdn.net/yimu13/article/details/6418485 堆和栈的区别一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据...原创 2014-02-09 04:40:47 · 77 阅读 · 0 评论 -
C++中虚析构函数的作用
http://blog.csdn.net/starlee/article/details/619827 我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类:class ClxBase{public: ClxBase() {}; virtual ~ClxBase() {}; ...原创 2014-02-16 08:52:57 · 57 阅读 · 0 评论 -
c++什么时候 分配内存
http://www.360doc.com/content/05/0929/14/1894_15840.shtml 注意和 java的区别: java的对象不管在哪里创建,都是放到堆里。这样在方法内创建的对象,不会因为出了方法导致对象空间 被收回。 c++的对象/数组,按照创建方式的不同,可能在堆里(用new或malloc),可能在栈上(正常声明式创建)。堆里的对象都...原创 2013-09-19 12:49:57 · 373 阅读 · 0 评论 -
malloc calloc new 区别
函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别。 malloc()函数有一个参数,即要分配的内存空间的大小:void *malloc(size_t size); calloc()函数有两个参数,分别为元素的数目和每个元素的大小,这两个参数的乘积就是要分配的内存空间的大小。void *calloc(size_t numElements,si...原创 2014-01-03 11:52:18 · 73 阅读 · 0 评论 -
c++ STL 之 list
下面文章中的count count_if的例子有点问题,可以参照下面的例子修改:// count_if example#include <iostream> // std::cout#include <algorithm> // std::count_if#include <vector> // std::vector...原创 2014-01-02 23:13:09 · 69 阅读 · 0 评论 -
区别 malloc 和 new
1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。 2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函...原创 2013-12-30 03:51:35 · 50 阅读 · 0 评论 -
理解 A=B。C++拷贝构造函数(深拷贝,浅拷贝)
http://www.cnblogs.com/BlueTzar/articles/1223313.html对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include <iostream>using namespac...原创 2013-11-07 02:21:56 · 433 阅读 · 0 评论 -
编程tips
-------------------------------------------------------------------------都是i=i+1的意思,区别在于i++是i先不自加,在语句完后自加,++i先自加;列如a=1+ i++;i本来为1的话,这里a=1+1;语句完后i才加1为2;a=1+ ++i的话就先i=i+1;i=2.然后a=i+1,a=3------...原创 2013-12-29 04:06:56 · 56 阅读 · 0 评论 -
c++ 内存管理
http://www.cnblogs.com/lancidie/archive/2011/08/05/2128318.html [导语]内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C...原创 2013-12-29 04:56:31 · 61 阅读 · 0 评论 -
c++ ifstream 读文件 最后一行读两次
http://blog.csdn.net/rebel_321/article/details/4927464 用ifstream的eof(),竟然读到文件最后了,判断eof还为false。网上查找资料后,终于解决这个问题。参照文件:http://tuhao.blogbus.com/logs/21306687.html 在使用C/C++读文件的时候,一定都使用过eof()这个...原创 2013-12-29 05:11:15 · 925 阅读 · 0 评论 -
c++ STL
一个好网站:http://stlchina.huhoo.net/twiki/bin/view.pl/Main/WebHome --------------------------------------------------------------------------------------------------------------- STL入门教程 htt...原创 2013-12-29 05:44:16 · 121 阅读 · 0 评论 -
c++ build 和 compile
一个C/C++程序的生成要经历以下步骤: 1.编写文本代码,生成C或cpp文件,这时候它还是文本的; 2.编译,就是compile,由C编译程序对你写的代码进行词法和句法分析,发现并报告错误,有错时编译不能通过。如若无错,则生成中间代码,扩展名为obj,此时它便是二进制的了; 3.连接,在汇编里称link,在C里叫生成,即build,它的作用是生成可执行的exe文件。由于一个程序的源...原创 2013-12-29 09:18:09 · 412 阅读 · 0 评论 -
STL 容器 介绍
maphttp://www.cnblogs.com/BeyondAnyTime/archive/2012/08/24/2654353.html sethttp://www.cnblogs.com/BeyondAnyTime/archive/2012/08/13/2636375.html原创 2013-12-30 03:50:37 · 61 阅读 · 0 评论 -
vector list deque 比较
http://blog.csdn.net/renkaihao/article/details/6803866 stl提供了三个最基本的容器:vector,list,deque。vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随即存取,即[]操作符,但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝,另外,当该数...原创 2013-12-30 03:51:18 · 47 阅读 · 0 评论 -
C++ 引用的作用和用法
http://www.cnblogs.com/xiaofengkang/archive/2011/05/16/2048262.html 我的总结:引用的好处之一就是在函数调用时在内存中不会生成副本。引用总结(1)在引用的使用中,单纯给某个变量取个别名是毫无意义的,引用的目的主要用于在函数参数传递中,解决大块数据或对象的传递效率和空间不如意的问题。(2)用引用传递函数的参数,能保...原创 2013-09-19 23:22:16 · 72 阅读 · 0 评论