C++基础笔记01

强类型语言,类型检查严格
支持面向对象,泛型,异常(打游戏可不能异常),运算符重载

C++文件后缀可以是 .cpp,.cc,.c等

//includeC++本身的头文件时 使用<不加.h>
#include <iostream>
//C 的头文件  可以加.h  但是C++不推荐
#include <stdio.h>
//推荐 使用C++重写的头文件 把.h去掉 在前面加c
#include <cstdio>
//如果要 include 我们自己写的头文件时 使用 "" 加.h
#include "MyClass.h"

cout的是一个对象 通过<<输出运算符 进行输出 可以连续输出,endl是换行。
cin/cout代替 scanf,cout
std是命名空间,::是域运算符

std::cout << "Hello, World!\n" << 123213 << 3.4324 << 'a'<< std::endl;
std::cin >> x;
//  相当于std::cin.operator>>(x);对象调方法,可省,略写如上

命名空间

//使用指令后的所有std命名空间下的东西 访问时都可以不用在加 std了
using namespace std;
//变量和函数
namespace Hero {
    const char *name = "英雄";
    void show() {
        std::cout << "英雄出现了" << std::endl;
    }
}
//命名空间可以分开写
namespace Hero {
    int a = 200;
}
//使用声明
using std::cout;

//C++会把所用东西都放在命名空间下,如果我们自己没有写命名空间,默认放在一个没有名字的命名空间下
    cout << ::name << endl;

结构

//可以放函数
struct Date {
    int year;
    int month;
    int day;
    void show() {
        cout << year << "-" << month << "-" << day << endl;
    }
};

联合就是在内存中都占同一片地址

union MyUnion {
    int x;
    int y;
    double d;
    char cs[4];
};
//可以有匿名联合
union {
    int x;
    int y;
};

枚举:不再只是普通的int

//注意用枚举提高代码可读性
enum HeroState{
    Stand,
    Move,
    Attack,
    Die
};

C++中bool是数据类型,本质也是int,c中是宏定义

运算符可以用其他奇怪的关键字替换

注意值传递和地址传递

C++的参数默认值 必须从右向左给 右边的参数有了默认值左边的参数才可以给默认值

内联函数

//inline 内联函数 执行效率要比普通的函数高
//内联函数执行的时候不会在栈中开辟空间,而是直接把内容拷贝到得调用的方法中
//inline只是向编译器发送请求,希望成为内联函数,编译器会做检查,如果内容少,逻辑简单就会同意申请,如果拒绝了,这个函数调用还和普通函数一样,  同常情况下,如果是个递归函数,肯定会拒绝
inline void print(int x) {
    int a = 200;
    int b = 300;
    cout << x + a + b << endl;
}

哑元函数

//冲突时多一个参数,没有参数名,这样就是哑元
void print(int x, int) {
    cout << x << endl;
}

int &r = x;
引用实际是别名,反正r就是x,都是同一个东西,地址都一样。其实写成
int& r=x;更好理解
r是个int类型的引用。
引用是一辈子的,不可以改地址了

  // 声明引用必须初始化
//如果要引用一个常量 必须使用常引用
    const int &r3 = 500;
//    r3 = 500;

弄清值传递x=y、地址传递 int* p、引用传递&x=y
*是寻址运算符也是指针
&是取地址符也是引用

交换两数的多种方法swap

//交换:用引用
void swap(int &x, int &y) {
    cout << x << ' ' << y << endl;
    int t = x;
    x = y;
    y = t;
    cout << x << ' ' << y << endl;
}

//交换  两数交换不使用第三个变量
void swap2(int &x, int &y) {
    x = x + y;
    y = x - y;
    x = x - y;
}

//按位异或交换 不使用第三个变量
void swap3(int &x, int &y) {
    x = x ^ y;
    y = x ^ y;
    x = x ^ y;
}

//永远不要返回局部变量的引用

int& fc() {
    int x = 100;
    return x; 
}

// static_cast<类型>()
// 转换时做静态检查,即在编译时进行
// void*到其他指针的转换

double d = 3.1415926;
// int x = d; //隐式类型转换
 int x = static_cast<int>(d);
//    reinterprect_cast<类型>()
//    允许强转任何类型的指针
//    把整数强转成指针,指针强转成整数
 double *pd = reinterpret_cast<double*>(pl);
//    const_cast<类型>()
//    去掉cv限制
 volatile const int a = 100;//值已改但编译器自作聪明,volatile 易挥发的
提醒编译器还是再去内存中取值了。
 int *pa = const_cast<int *>(&a); //const int *
 *pa = 200;

//获取成员变量地址用 Struct::
&Date::year;
this指针,隐式地传入当前对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容