赞
踩
bool
char
int
float
double
void
wchar_t
short
long
signed
unsigned
typedef
为一个已有的类型取一个新的名字。bool
char
int
float
double
void
wchar_t
struct
数据结构、enum
枚举、共用体union
、指针、数组、引用、class
类等等数据类型 | 默认初始化 |
---|---|
int | 0 |
char | ‘\0’ |
float | 0 |
double | 0 |
pointer | NULL |
auto
register
static
extern
mutable
thread_local (C++11)
->
, .
调用类型 | 描述 |
---|---|
传值调用 | 该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数。 |
引用调用 | 通过指针传递方式,形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作。 |
引用调用(c没有) | 该方法把参数的引用复制给形式参数。在函数内,该引用用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。 |
// solution1.cpp: 定义控制台应用程序的入口点。 // # include <stdio.h> # include <tchar.h> # include <stdlib.h> #include <iostream> using namespace std; #include "stdafx.h" // 函数定义 void swap(int &x, int &y) { int temp; temp = x; /* 保存地址 x 的值 */ x = y; /* 把 y 赋值给 x */ y = temp; /* 把 x 赋值给 y */ return; } int main() { // 局部变量声明 int a = 100; int b = 200; cout << "交换前,a 的值:" << a << endl; cout << "交换前,b 的值:" << b << endl; swap(a, b); cout << "交换后,a 的值:" << a << endl; cout << "交换后,b 的值:" << b << endl; system("PAUSE"); return 0; }
Lambda
函数与表达式(c没有)C++ 提供了以下两种类型的字符串表示形式:
#include <string>
引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。
C++ 引用 vs 指针
引用可以做参数或返回值。
#include <iostream> using namespace std; double vals[] = {10.1, 12.6, 33.1, 24.1, 50.0}; double& setValues( int i ) { return vals[i]; // 返回第 i 个元素的引用 } int main () { cout << "改变前的值" << endl; for ( int i = 0; i < 5; i++ ) { cout << "vals[" << i << "] = "; cout << vals[i] << endl; } setValues(1) = 20.23; // 改变第 2 个元素 setValues(3) = 70.8; // 改变第 4 个元素 cout << "改变后的值" << endl; for ( int i = 0; i < 5; i++ ) { cout << "vals[" << i << "] = "; cout << vals[i] << endl; } return 0; }
C++ 标准库可以分为两部分:
包含了所有的 C 标准库,为了支持类型安全,做了一定的添加和修改。
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <cmath>
标准函数库分为以下几类:
输入/输出 I/O
字符串和字符处理
数学
时间、日期和本地化
动态分配
其他
宽字符函数
面向对象类库
定义了大量支持一些常见操作的类,比如输入/输出 I/O、字符串处理、数值处理。面向对象类库包含以下内容:
标准的 C++ I/O 类
String 类
数值类
STL 容器类
STL 算法
STL 函数对象
STL 迭代器
STL 分配器
本地化库
异常处理类
杂项支持库
成员函数可以定义在类定义内部,或者单独使用范围解析运算符 :: 来定义。
class Box
{
public:
double length; // 长度
double breadth; // 宽度
double height; // 高度
double getV(void) {
return length * breadth*height;
}
};
class Box
{
public:
double length; // 长度
double breadth; // 宽度
double height; // 高度
double getV(void);
};
double Box::getV(void) {
return length * breadth*height;
}
public
protected
private
一个类可以有多个public
protected
private
标记区域。每个标记区域在下一个标记区域开始之前或者在遇到类主体结束右括号之前都是有效的。成员和类的默认访问修饰符是 private
。
class Base {
public:
// 公有成员
protected:
// 受保护成员
private:
// 私有成员
};
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。