首页 > 编程语言 > 详细

c++(一) :从c到c++

时间:2014-04-13 13:16:16      阅读:313      评论:0      收藏:0      [点我收藏+]

1.bool类型,值取true和false.

2.const 常量标识符

bubuko.com,布布扣
//const int a;  // error,常量必须初始化
const int a = 100;
// a = 200;    // error,不能对常量赋值

const int * p // 定义了一个指向常量的指针变量(*p是常量)
int * const p2 = &a; // p2是常量,需初始化

/* const常量与#define定义的符号常量的区别
* 1.const定义的常量有类型,而#define定义的没有类型,编译可以对前者进行安全检查,对后者只是 * 做简单替换
* 2.const常量在编译时分配内存,#define定义的在预编译进行替换,不分配内存
* 3.作用范围不同,前者作用域为变量的作用域,后者从定义点到程序结束(也可用#undef取消)
*/

// 尽量用const、enum代替#define
bubuko.com,布布扣

3.内存对齐

  • 是什么:1.编译器为每个“数据单元”安排在某个合适的位置上. 2.c,c++允许干涉内存对齐
  • 为什么:在对齐的内存空间上能更快的访问数据
  • 怎么用:

4.域运算符::

bubuko.com,布布扣
// 用法1:对与局部变量同名的全局变量进行访问
#include <iostream>
using namespace std;

int var = 100;
int main()
{
    int var = 50;
    cout << var <<endl;   // 50
    cout << ::var << endl; // 100
}
bubuko.com,布布扣

 

5.new与delete

  • new用于创建堆空间,成功返回首地址, 用法:
  • delete 释放堆空间
    bubuko.com,布布扣
    // new:分配内存,调用构造函数
    int *p;
    p = new int;
    char *p_str = new char[50];
    
    // delete:调用析构函数,释放内存
    delete [] p_str;
    delete p;
    bubuko.com,布布扣

6.重载:函数名相同,参数不同(数量,类型,顺序)

7.引用:

  • 就是给一个变量起别名(引用不是变量,只是变量的别名)
    int a = 100;
    int &b = a; // b是a的别名
    b = 200;
    cout << b <<" " << a << endl; // 200 200
  • 引用没有自己的空间
  • 对引用的改变相当于对原变量的改变

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c++(一) :从c到c++,布布扣,bubuko.com

c++(一) :从c到c++

原文:http://www.cnblogs.com/ezhengnan/p/3661944.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!