C++ Primer Plus笔记: 2023.06.30

news/2024/11/29 12:39:18/

1.C++新手在指定结构成员时,搞不清楚何时应使用句点运算符,何时应使用箭头运算符。如果结构标识符是结构名,则使用句点运算符,如果标识符是指向结构的指针,则使用箭头运算符。

2.输出char *类型的指针指向的字符数组的地址:

cout << name << " at " << (int *)name << "\n" ;

3.C++管理数据内存的方式:
(1)自动存储:

在函数内部定义的常规变量使用自动存储空间,被称为自动变量,这意味着它们在所属的函数被调用时自动产生,在该函数结束时消亡。实际上,自动变量是一个局部变量,其作用域为包含它的代码块。代码块是被包含在花括号中的一段代码。函数内也可以有代码块。如果在其中的某个代码块定义了一个变量,则该变量仅在程序执行该代码块中的代码时存在。

自动变量通常存储在栈中。这意味着执行代码块时,其中的变量将依次加入到栈中,而在离开代码块时,将按相反的顺序释放这些变量,这被称为后进先出(LIFO)。

(2)静态存储

使变量成为静态的方式有两种:一种是在函数外面定义它,另一种是在变量声明时使用关键字static

(3)动态存储

new和delete运算符管理了一个内存池,这在C++中被称为自由存储空间或堆。该内存池同用于静态变量和自动变量的内存是分开的。new和delete让您能够在一个函数中分配内存,而在另一个函数中释放它。因此,数据的生命周期不完全受程序或函数的生存时间控制。

4.关键字auto:
C++ 11新增了一个工具,让编译器能够根据初始值的类型推断变量的类型。为此,它重新定义了auto的含义。在初始化声明中,如果使用关键字auto,而不指定变量的类型,编译器将把变量的类型设置成与初始值相同。

auto n = 100 ;
auto x = 1.5 ;
auto y = 1.3e12L ;

5.模板类vector:
vector类似于string类,也是一种动态数组,它也用new和delete来管理内存,不过这些工作都自动完成。
vector使用案例如下:

#include <iostream>
#include <vector>
using namespace std ;int main()
{vector<int> vi ;int n ;cin >> n ;vector<double> vd(n) ;for(int i=0; i<n; i++) cout << "vd[" << i << "] = " << vd[i] << endl ;
}

运行结果:

9
vd[0] = 0
vd[1] = 0
vd[2] = 0
vd[3] = 0
vd[4] = 0
vd[5] = 0
vd[6] = 0
vd[7] = 0
vd[8] = 0

http://www.ppmy.cn/news/665762.html

相关文章

【C语言初阶(6)】猜数字游戏

文章目录 1. 游戏描述2. 代码结构2.1 菜单函数2.2 游戏函数2.3 主体函数 3. 代码实现 1. 游戏描述 电脑自动生成一个1-100以内的数字。我们输入一个我们猜的数字。如果我们猜的数字比电脑随机生成的数字大&#xff0c;那么输出&#xff08;猜大了&#xff09;&#xff0c;反之…

如何在微信小程序中下载APP?

方案you 1、官方api接口&#xff1b;——目前小程序官方未提供专门下载APP的接口&#xff1b;小程序目前是不允许将流量导出到APP之外&#xff0c;所以合理推断&#xff0c;该方案短期内并不可行。 2、通过web-view在小程序内打开网页&#xff0c;然后提供触发下载功能&#xf…

微信表情包下载保存到本地,(新版微信可用)简单教程

问题&#xff1a;微信新版无法保存表情包&#xff08;微信表情包加密&#xff09;&#xff0c;且微信网页版不能登录 方法一&#xff1a; 1、登录你的企业微信、添加外部微信联系人&#xff08;自己的微信号&#xff09; 2、微信&#xff08;自己的微信号&#xff09;向企业…

让微信扫描直接下载你的APK

去年在做一个项目的时候&#xff0c;用微信扫描apk下载失效&#xff0c;显示空白页&#xff0c;网上找找发现在后面加一个字符串即可&#xff0c;于是简单搞定。过了一阵子&#xff0c;今年不行了&#xff0c;我的敏捷个人下载二维码也失效了&#xff0c;今天和大家说一下&…

微信视频号下载视频工具3.0,实测有效免费保存!

1.首先下载提供的绿色特别版软件&#xff0c;安装之后&#xff0c;按照以下步骤操作&#xff1a; ①下载后运行&#xff0c;每次运行会检测网络适配器&#xff0c;请耐心等待安装完成&#xff1b; ②接着会弹出一个升级提示&#xff0c;直接无视X掉它即可&#xff1b; ③接着进…

微信开发者工具下载使用

一.搜索微信开发者工具&#xff0c;到官网下载 https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 二.下载git代码拉取工具&#xff0c;将需要调试的代码拉到指定的位置。 git clone -b master https://codeup.aliyun.com/5fdb2f0a99b59ba3c5ead6c7…

在微信里面打开APP下载链接

这个问题我查看了许多资料&#xff0c;最后总结一下&#xff1a; 我首先看了IOS端微信关于下载app的整个逻辑&#xff1a; 关于公众号里面关于微官网里面的app下载&#xff0c;如果你将你的应用中在微信开发平台认证过来&#xff0c;这个是要掏钱的&#xff1b;你点微官网app…

微信开发者工具下载地址

度娘广告太多了&#xff0c;直接上官方的 2017.1.4版本 https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html?t201714 无版本号下载页面 https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html