![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 72
hxzhang1024
这个作者很懒,什么都没留下…
展开
-
从赋值到初始化
C语言确实很优雅,整个语言的设计简洁一致。而在C++中,有一个让人诟病的问题就是变量初始化的不一致性。C语言中的初始化,都是用花括号进行,简单美观:int array[] = {1,2,3,4,5};struct Point point = {2, 3};struct Point arrPo转载 2009-02-12 15:25:00 · 434 阅读 · 0 评论 -
谈谈private public protected
1. 出现在类成员的声明中,其作用分别是:public member : 能在任何地方被任何人访问,能够在类外访问private member : 只能被类的成员函数和友元访问,只能在类内访问protected member : 能被类的成员函数和友元 以及 derived class 成员函数和友元访问,能在类内访问,但能被派生类访问 2.原创 2009-02-18 19:10:00 · 719 阅读 · 0 评论 -
再谈引用
1. 任何情况下,不能使用指向空值的引用,引用必须指向某些对象 int *p=0; //set the pointer null int &q =*p; //quote point to null ,harmful 2. 在申明引用的时候必须初始化string &str; //error,must initializestri原创 2009-02-18 17:12:00 · 207 阅读 · 0 评论 -
const使用
1. const常量 const int max = 100; 优点:const常量有数据类型,而宏常量(#define)没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误(边际效应)2. const 修饰类的数据成员class A{ const int siz转载 2009-02-20 11:58:00 · 5532 阅读 · 8 评论 -
指针、引用以及内存分配格局之我见
首先,来谈谈指针和引用,我把我知道的几点罗列出来,希望大家补充: 1. 指针指向一块内存,它的值是内存的地址;其大概结构可以这么理解: 指针地址 值 比如 int *b ,a=0; b=&a; 指针地址是:&b, 值是&a,retrieve thie value : *b 而引用是一块内存的别名:原创 2009-02-18 16:07:00 · 239 阅读 · 0 评论 -
cstdarg or stdarg.h
1.要在函数中使用参数,首先要包含头文件。这个头文件声明了一个va_list类型,定义了四个宏,用来遍历可变参数列表。void va_start(va_list ap, last);type va_arg(va_list ap, type);void va_end(va_list ap);void va_copy(va_list dest, va_list原创 2009-02-18 12:27:00 · 491 阅读 · 1 评论 -
static关键字
1.先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c.下面是a.c的内容: char a = A; // global variablevoid msg(){printf("He原创 2009-02-16 17:55:00 · 200 阅读 · 0 评论 -
explicit关键字实例解释
explicit 和单个实参constructor 一起使用。explicit constructor指明构造函数只能显示使用,目的是为了防止不必要的隐式转化. class A { public: A(int); private:原创 2009-02-16 16:51:00 · 259 阅读 · 0 评论 -
using STL container
Rule 1:You can create STL containers that store either objects or pointer to objects.class TMyClass;typedef list TMyClassList; // Stores objects into the list containertypedef li转载 2009-02-12 16:39:00 · 396 阅读 · 0 评论 -
C++指针探讨(二) 函数指针
在C/C++中,数据指针是最直接,也最常用的,因此,理解起来也比较容易。而函数指针,作为运行时动态调用(比如回调函数 CallBack Function)是一种常见的,而且是很好用的手段。 2 常规函数指针 void(*fp)(); fp 是一个典型的函数指针,用于指向无参数,无返回值的函数。 void转载 2009-02-12 15:43:00 · 188 阅读 · 0 评论 -
C++指针探讨(一) 数据指针
指针,在C/C++语言中一直是很受宠的;几乎找不到一个不使用指针的C/C++应用。用于存储数据和程序的地址,这是指针的基本功能。用于指向整型数,用整数指针(int*);指向浮点数用浮点数指针(float*);指向结构,用对应的结构指针(struct xxx*);指向任意地址,用无类型指针(void*)。 有时候,我们需要一些通用的指针。在C语言当中,(void*) 可以转载 2009-02-12 15:37:00 · 233 阅读 · 5 评论 -
C++指针探讨(四) 函数对象
函数对象不是函数指针。但是,在程序代码中,它的调用方式与函数指针一样,后面加个括号就可以了。 这是入门级的随笔,说的是函数对象的定义,使用,以及与函数指针,成员函数指针的关系。 函数对象实质上是一个实现了operator()--括号操作符--的类。例如:Code highlighting produced by Actipro CodeHighlighter (f转载 2009-02-12 16:08:00 · 377 阅读 · 0 评论 -
C++指针探讨(三) 成员函数指针
C语言的指针相当的灵活方便,但也相当容易出错。许多C语言初学者,甚至C语言老鸟都很容易栽倒在C语言的指针下。但不可否认的是,指针在C语言中的位置极其重要,也许可以偏激一点的来说:没有指针的C程序不是真正的C程序。 然而C++的指针却常常给我一种束手束脚的感觉。C++比C语言有更严格的静态类型,更加强调类型安全,强调编译时检查。因此,对于C语言中最容易错用的指针,更是不能放过:C++转载 2009-02-12 15:56:00 · 242 阅读 · 0 评论 -
指针的指针
函数指针:我们知道,一个指针变量可以指向整型变量,字符串,数组,也可以指向一个函数。一个函数在编译的时候被分配给一个入口地址,这个入口地址就称为函数的指针。可以用一个指针变量指向函数,然后通过指针变量调用这个函数。因为每个函数都占有一段内存单元,它们有一个起始地址。所以,我们可以用一个指针变量指向一个函数,通过指针变量来访问它指向的函数。如:#include "stdio.h"ma原创 2009-02-25 10:49:00 · 364 阅读 · 0 评论