C++学习笔记
文章平均质量分 59
lily854212198
这个作者很懒,什么都没留下…
展开
-
C++内存分配秘籍—new,malloc,GlobalAlloc详解
C++内存分配秘籍—new,malloc,GlobalAlloc详解 _______只为因内存分配而无法入眠的程序员一。关于内存1、内存分配方式内存分配方式有三种:(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,s转载 2012-04-14 15:50:52 · 264 阅读 · 0 评论 -
变量的定义和变量的声明
我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下:(望我的指点对你受益)变量的声明有两种情况:1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义转载 2012-08-14 17:26:34 · 458 阅读 · 0 评论 -
C++ 中的流操作
C++中IO操作都可以用流对象来实现,一般有三种流对象:1)控制台流对象: istream, ostream, iostream 2)文件流对象: fstream, ifstream, ofstream3)字符串流对象: stringstream, istringstream, ostringstream以上三种流类的读写都是以char 类型组成的流,对于wchar_t ,C++中原创 2013-09-01 18:05:44 · 986 阅读 · 0 评论 -
中缀表达式转为二叉树
8-(3+5)*(5-6/2) 怎样把中缀表达式转为二叉树?中缀表达式的括号怎样处理?一般情况下并不能由一个中缀表达式得到一个唯一的二叉树,但是若由二叉树来表示表达式,叶子节点必须是操作数,非叶子节点是操作符,所以能够确定一个二叉树:转化过程如下:按照优先级加上括号,得到:( 8 - ( (3 + 5) * ( 5 - (6 / 2) ) ) ) 然后从最外层括号开始,依次转载 2013-09-01 11:07:50 · 13046 阅读 · 2 评论 -
sizeof 和 strlen 的区别和联系
1.sizeof是算符,strlen是函数。2.sizeof计算变量函数在内存中分配的字节数,strlen 计算的是字符串的长度。3.sizeof可以用函数,类型做参数,strlen只能用字符串做参数。4.sizeof 和strlen在处理静态字符数组方面的区别: char str[20]="0123456789"; sizeof(str)原创 2013-04-18 19:59:43 · 442 阅读 · 0 评论 -
const iterator ,iterator 和const_iterator的区别
1.iterator,const_iterator作用:遍历容器内的元素,并访问这些元素的值。iterator可以改元素值,但const_iterator不可改。跟C的指针有点像(容器均可以++iter,而vector还可以iter-n, iter+n,n为一整型,iter1-iter2:结果是difference_type类型,表两元素的距离.)2.const_iterator 对象转载 2013-04-17 15:14:29 · 2052 阅读 · 0 评论 -
内存数据对齐
一、什么是对齐,以及为什么要对齐⒈现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。⒉对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开转载 2013-01-11 19:15:17 · 415 阅读 · 0 评论 -
gdb 调试
GDB调试精粹及使用实例来源:不详 (2006-07-14 11:18:05) 一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。 如果你使用不带转载 2012-08-13 11:22:01 · 457 阅读 · 0 评论 -
#pragma comment的使用
pragma comment的使用该宏放置一个注释到对象文件或者可执行文件。#pragma comment( comment-type [,"commentstring"] )comment-type是一个预定义的标识符,指定注释的类型,应该是compiler,exestr,lib,linker之一。commentstring是一个提供为comment-type提供附加信息的字符转载 2012-09-29 13:00:15 · 287 阅读 · 0 评论 -
C++ STL写的常用函数
toupper,tolower 地球人都知道 C++ 的 string 没有 toupper ,好在这不是个大问题,因为我们有 STL 算法: string s("heLLo");transform(s.begin(), s.end(), s.begin(), ::toupper);cout transform(s.begin(), s.end(), s.begin(), ::tolo转载 2012-08-20 08:43:38 · 634 阅读 · 0 评论 -
gdb list 使用介绍
【转】[zz]Gdb list使用介绍 GDB 可以打印出所调试程序的源代码,当然,在程序编译时一定要加上-g的参数,把源程序信息编译到执行文件中。不然就看不到源程序了。当程序停下来以后, GDB会报告程序停在了那个文件的第几行上。你可以用list命令来打印程序的源代码。还是来看一看查看源代码的GDB命令吧。list 显示程序第linenum行的周围的源程序。list转载 2012-08-13 17:10:49 · 660 阅读 · 0 评论 -
c++类型转换
C++类型转换在刚学习C++不久就接触到的东西,由于那会儿对C++机制的不熟悉,并没有太多的疑问。随着对C++进一步的了解,基本类型转换应该可以理解为生成了对应类型的临时变量。昨天看到了Effective C++条款3中,类的const与non-const重载函数,non-const函数调用const函数实现重载,即所谓的常量性转除(casting away constness)。示例程序代码如下原创 2012-09-29 09:47:12 · 291 阅读 · 0 评论