C++笔记-未见新知
本文发布于 1217 天前,最后更新于 952 天前,其中的信息可能已经有所发展或是发生改变。

电子书

C++ Primer Plus (第 6 版)中文版

inline 内联函数

内联函数详细解释

static 静态

函数的重载(C++可,C否)

默认参数+重载函数,非默认参数的函数优先?

函数声明

C++ string 成员函数 length() size() 和 C strlen() 的区别

数组

数组的奇奇怪怪的知识点,

int a[ ] = {1,2,3,4} 可以运行,数组范围为赋值范围

int a[ ][4] = {1,2,3,4} 可以运行,int a[4][ ] = {1,2,3,4} 不可以运行

int a[2][2] = {1,2,3,4} 可以运行,前二个自动赋值给 a[1][1] 和 a[1][2],后两个同理

二维数组存放在内存中按一维数组线性存放

一位数组表示二位数组

int H=100,W=100;
int a[H][W];
int aa[H*W];
for(int y = 0;y < H;y++)
    for(int x = 0;x < W;x++)
        aa[y*W+x]==a[y][x];

指针

Wiki-指针

内存地址 &a[i] == a+i

间接引用 (间接寻址)

int n,a[100];

int *p;

p = &a

a = *p // a[0]的值,访问指针中地址的值

*(&n)

*(a+i)

偏移

int a[100];

int *p;

p = a// a 是数组a的首地址,数组名就是地址

p[i] // 等于a[i] 的地址,向后偏移 i 个单位

地址[i]// 地址向后偏移 i 个单位

&a[i] == a+i == p+i == &p[i]

a[i] == *(a+i) == *(p+i) == p[i]

二维数组与指针

int aa[3][4];

aa 为二级地址

aa 是指向二位数组第零行的一整行首地址

aa + 1 指向二位数组第一行的一整行首地址

**aa == aa[0][0];

*aa == &aa[0][0];

*aa[1] == a[1][0];

二位动态数组

指针函数和函数指针

delete

delete本身会自动检查对象是否为空.如果为空,就不做操作…

语法糖

栈区和堆区

ios::sync_with_stdio(false);

默认的时候,cin与stdin总是保持同步的,也就是说这两种方法可以混用,而不必担心文件指针混乱,同时cout和stdout也一样,两者混用不会输出顺序错乱。正因为这个兼容性的特性,导致cin有许多额外的开销,如何禁用这个特性呢?只需一个语句std::ios::sync_with_stdio(false)

数组归零

虽然经常用但还是记不住,习惯全局数组默认为零了

随机数

SWAP函数操作与内存地址改变的简析

引用

十进制与26进制转换

数组作为函数的形参

当数组作为实参传递给函数的时候,将退化为同类型的指针,再传递指针的值。
因此,在函数中修改数组值时,修改的是真的值。

开大数组溢出的问题

c++的默认拷贝构造函数

原位构造函数(转发构造函数)

右值引用

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇