C++杂记

文章目录

前言

在写《C++ Primer Plus》课后题过程中,发现的一些函数使用方法、动态内存

cin

  1. getline(cin, str)

当你的程序中使用了 字符串 时,这个时候从键盘获取就需要使用<string>头文件中的 getline()函数

语法:

getline(cin, str);

str是需要接收字符串的变量。

需要头文件 #include <string>

  1. cin.getline(arr, number)

接收字符串还可以用数组,这个时候,数组初始化需要一个足够大的数,arr20这种可以存储下你需要的字符串。

语法:

cin.getline(arr, number);

其中, arr是你声名的数组名,number是要从缓冲区接收几个字符。空格也不会终止(可以对比cin.get()

  1. cin.get()

    从键盘接收一个值,通常用于丢弃无用的字符,例如回车之类的。

  2. cin >> variable_name

    遇到 空格、Tab、回车都会终止。

c++ 复制代码
    int m = 0, n=0;
    cin >> m >> n;
    cin.get();
    cout << m << n;

空白符指的是:空格和回车

cin 不会丢弃空白符,但是 >> 符号会跳过空白符。

所以上述代码中的提取出了 n 的值之后,输入流中还有一个回车,下次输入时,会先从输入流中使用这个回车键。所以,正常需要通过cin.get();来释放掉回车键,避免干扰后续输入。

动态内存

  1. 可以在动态声名数组的同时进行初始化。

注: CandyBar 是结构体。

c++ 复制代码
    CandyBar *p_candybar = new CandyBar [3] {
        {"Mocha Munch", 2.3, 350},
        {"Big Rabbit", 5, 300},
        {"Joy Boy", 4.1, 430}
    };

其中,

c++ 复制代码
CandyBar *p_candybar = new CandyBar [3]

动态声名了数组。

之后的 { } 进行了初始化。

相关推荐
软件黑马王子5 分钟前
14.事件中心:主要作用和原理
开发语言·前端框架·c#
君顾121 分钟前
酒吧点餐小程序系统开发实战:从架构设计到上线全流程指南
java·开发语言·酒吧
喜欢吃燃面34 分钟前
深入 C++ STL:从 unordered_set与unordered_map到底层哈希表的原理与实现
数据结构·c++·散列表
似水এ᭄往昔1 小时前
【Qt】--常用控件(显示类控件)
开发语言·qt
PHP实战开发录1 小时前
PHP文件上传成功为什么页面却找不到
开发语言·nginx·php·开发
FlightYe1 小时前
音视频修炼之基础理论(五):AAC格式与解析
android·linux·c++·音视频·aac
ShineWinsu2 小时前
对于MySQL:数据库的操作的解析
linux·数据库·c++·mysql·面试·笔试·库的操作
云小逸2 小时前
C++ 第一阶段:对象、内存与生命周期
开发语言·c++
夜航海图2 小时前
S-57 数据解剖:把一个 ENC 文件拆给你看
c++
(Charon)2 小时前
【C++】网络缓冲区设计(三):Chain Buffer链式缓冲区、动态扩容与跨节点读写
服务器·c++