c++
文章平均质量分 74
tzheng2008
这个作者很懒,什么都没留下…
展开
-
c++头文件迷惑详解
C/C++头文件一览(C、传统 C++#include //设定插入点#include //字符处理#include //定义错误码#include //浮点数处理#include //文件输入/输出#include //参数化输入/输出#include //数据流输入/输出#include转载 2012-02-09 10:46:35 · 562 阅读 · 0 评论 -
c++位运算和逻辑运算
&&和||:逻辑运算符&和|:按位运算符&&是且的意思,a&&b 两者都为真才为真.||是或的意思,a||b 两者有一为真即真.&,|是位运算符.即对位进行运算,如00000011 & 00000001=0000000100000011 | 00000001=00000011 对于(&&,||),运算的对象是逻辑值,也就是True转载 2012-02-14 11:36:02 · 11280 阅读 · 0 评论 -
c++ static
静态函数用static声明的函数是静态函数。静态函数可以分为全局静态函数和类的静态成员函数。Static关键字在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只有一份。用static声明的方法是静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非stat转载 2012-02-13 14:57:54 · 349 阅读 · 0 评论 -
c++ 类的大小(sizeof)
#includeusing namespace std;class A{public: char a[3]; virtual void call(){ cout }};class B:public A{public: char b[3]; virtual void call(){ cout } virtual void test原创 2012-02-18 11:14:43 · 348 阅读 · 0 评论 -
c++ 虚函数和虚函数表
一般继承(无虚函数覆盖)下面,再让我们来看看继承时的虚函数表是什么样的。假设有如下所示的一个继承关系:请注意,在这个继承关系中,子类没有重载任何父类的函数。那么,在派生类的实例中,其虚函数表如下所示:对于实例:Derive d; 的虚函数表如下:我们可以看到下面几点:1)虚函数按照其声明顺序放于表中。2)父类的虚函数在子类的虚函数前面。我相信聪明的你一定可以参考转载 2012-02-18 10:58:36 · 570 阅读 · 0 评论 -
c++/c字符串
1. C风格字符串:起源于C,并在C++中得到支持。a. 存储方式:被存储在一个字符数组中,通过一个char*类型的指针来操纵它。b. 提供的库函数:包含头文件:#includea) int strlen( const char* );//返回字符串的长度b) int strcmp( const char*, con转载 2012-03-11 19:23:51 · 1743 阅读 · 0 评论 -
c++字符串操作函数
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 好了,进入正题………首先,为了在我们的程序中使用转载 2012-03-11 19:24:57 · 42602 阅读 · 0 评论 -
c++字符串输入小结
一.对于字符数组:方法一:getline()读入整行数据,它使用回车键输入的换行符来确定输入结尾。调用方法: cin.getline(str, len);第一个参数str是用来存储输入行的数组名称,第二个参数len是要读取的字符数。12345678910#include using namespace转载 2012-03-11 19:43:04 · 1824 阅读 · 0 评论 -
c++ 临时对象
我们知道在C++的创建对象是一个费时,费空间的一个操作。有些固然是必不可少,但还有一些对象却在我们不知道的情况下被创建了。通常以下三种情况会产生临时对象: 1,以值的方式给函数传参; 2,类型转换; 3,函数需要返回一个对象时; 现在我们依次看这三种情况: 一,以值的方式给函数传参。 我们知道给函数传参有两种方式。1,按值传递;2,按引用传递。按值转载 2012-02-14 10:58:28 · 1179 阅读 · 0 评论 -
c++ this指针
1.this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。转载 2012-02-12 21:47:39 · 330 阅读 · 0 评论 -
c++ inline关键字
C++ inline 函数(一)inline函数(摘自C++ Primer的第三版) 在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联。 inline int min(int first, int secend) {/****/}; inline 函数对编译器而言必须是可见的,以便它能够在调用点内展开该函数。转载 2012-02-09 15:10:14 · 3162 阅读 · 0 评论 -
c++关键字详解
inlinec++中引入inline关键字的原因: inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代c中表达式形式的宏定义。表达式形式的宏定义一例: #define expressionname(var1,var2) (var1+var2)*(var1-var2)宏在某些场合能得到类似于函数的功能,如上是一个常见的例子:但我们至转载 2012-02-09 14:40:42 · 2453 阅读 · 0 评论 -
c++ STL简介
STL 对STL(Standard Template Library,标准模板库)的简短描述并不足以体现其设计上的过人之处。接下来的文字不过是鼓励你深入学习STL的“开胃小菜”。 STL并不仅仅是一个库,它更是一种优秀的思想以及一套约定。 STL包含三大组件:容器、算法和迭代器。容器用于容纳和组织元素;算法执行操作;迭代器则用于访问容器中的元素。这些都不是什么新东西,许多传转载 2012-02-10 10:38:18 · 438 阅读 · 0 评论 -
c/c++程序在内存中的分布
一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。程序结束时由编译器自动释放。2、堆区(heap) — 在内存开辟另一块存储区域。一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(转载 2012-02-09 16:02:20 · 3825 阅读 · 0 评论 -
c++ namespace
namespace中文意思是命名空间或者叫名字空间,传统的C++只有一个全局的namespace,但是由于现在的程序的规模越来越大,程序的分工越来越细,全局作用域变得越来越拥挤,每个人都可能使用相同的名字来实现不同的库,于是程序员在合并程序的时候就会可能出现名字的冲突。namespace 引入了复杂性,解决了这个问题。namespace允许像类,对象,函数聚集在一个名字下。本质上讲namespac转载 2012-02-10 10:06:58 · 568 阅读 · 0 评论 -
c++ static与extern
在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌 入式下做开发工作的话,那么你可能非常转载 2012-02-13 14:41:46 · 370 阅读 · 0 评论 -
c++ 指针小程序
#includeusing namespace std;char *getMemory(){ char p []="hello"; return p;}int main(){ char *str=NULL; str=getMemory(); cout return 0;}结果输出可能乱码,也可能是hello分析:数原创 2012-02-14 11:16:21 · 450 阅读 · 0 评论