今天学到了以下内容
开局
#include <iostram>
using namespace std;//命名空间,不知道干嘛的
//io流
另一种转义字符
??= 替换 #子类的
常量
const 作为类型限定符声明的对象不可修改,可赋初值
lambda函数
[这里写你要用哪些对象](这里写参数)->箭头后面写返回值类型{这里是函数体了}
[] // 沒有定义任何变量。使用未定义变量会引发错误。
[x, &y] // x以传值方式传入(默认),y以引用方式传入。
[&] // 任何被使用到的外部变量都隐式地以引用方式加以引用。
[=] // 任何被使用到的外部变量都隐式地以传值方式加以引用。
[&, x] // x显式地以传值方式加以引用。其余变量以引用方式加以引用。
[=, &z] // z显式地以引用方式加以引用。其余变量以传值方式加以引用。
[this]() { this->someFunc(); }();
cout的格式输出
#include <iomanip>
using std::setw;
//...
cout<<setw(3)<<i<<endl;
//i超过3位时失效
C++中拥有String类型!!!!!!!用发和Js一样 (复习)c中使用指向函数的指针
auto test = [](char* arr1, char* arr2) {
cout <<setw(35)<<"C++11牛逼!这是第一个字符串:"<<arr1<< endl <<"这是第二个:"<<arr2;
};
void(*p)(char*, char*) = test;
p(arr1, arr2);
引用
C++ 引用 vs 指针
引用很容易与指针混淆,它们之间有三个主要的不同:
不存在空引用。引用必须连接到一块合法的内存。
一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
引用必须在创建时被初始化。指针可以在任何时间被初始化。
c++里结构体和c一样
class
class Box
{
public:
double length; // 长度
double breadth; // 宽度
double height; // 高度
double getVolume(void)
{
return length * breadth * height;
}
};
//or
double Box::getVolume(void)
{
return length * breadth * height;
}