一篇文章带你了解C++Primer学习日记--处理数据

目录
  • 1.简单变量
    • 1.1变量名
    • 1.2整型short,int,long和long long
    • 1.3无符号类型
    • 1.4选择整型类型
    • 1.5char类型
  • 2.const限定符
  • 3.浮点类型
  • 4.类型转换
  • 5.C++11中的auto声明
  • 总结

1.简单变量

1.1变量名

1、以两个下划线打头或以下划线和大写字母大头的名称被保留给实现使用。以一个下划线开头的名称被保留给实现,用作全局标识符;

2、 类的成员变量一般都加上前缀“_”,这样可以避免数据成员与成员函数的参数同名。这个是一般的命名规范。

3、如果想用两个或跟多的单词组成一个名称:

(1)可以采用下划线将单词分开,如 my_onions

(2)或从第二个单词开始将每个单词的第一个字母大写,如 myOnions

1.2整型short,int,long和long long

1、int类型长度在不同的系统中位数不同,可以是16位,32位,64位;

2、 头文件limits包含不同数据类型的符号常量,如 INT_MAX表示int的最大值;

3、如果不对函数内部定义的变量进行初始化,该变量的值将是它被创建之前,相应内存单元保存的值;

4、C++11初始化方式

int emus{7};  //emus=7
int rheas={12};  //rheas=12
int rocs={};  //rocs=0
int psychics{};  //psychics=0

1.3无符号类型

有无符号整型的区别 (int、unsigned(为unsigned int 的缩写))

1.4选择整型类型

1、int被设置为对目标计算机而言最为“自然”的长度。自然长度指的是计算机处理起来效率最高的长度。

2、如果节省内存很重要,则应使用short而不是int,即使它们的长度是一样的。

3、为提高移植性,可以使用长整型long

4、可以通过cout显示整数的方式,如

#include <iostream>
using namespace std;
int main()
{
    int chest=10;
    cout<<ches<<endl;  //显示10
    cout<<hex;
    cout<<chest<<endl;  //显示A
    cout<<oct;
    cout<<chest<<endl;  //显示12
    return 0;
}

5、成员函数cout.put()

cout<<'M';  //输出M的ASCII码
cout.put('M');  //输出字符M

在Release2.0以后,C++将字符常量存储为char类型,而不是int类型。意味着cout现在可以正确处理字符常量了。

1.5char类型

1、C++转义序列的编码

2、signed char 和unsigned char

如果将char用作数值类型,unsigned char 表示范围为0~255,signed char 表示范围为-128~127.

3、wchar_t

4.C++新增的类型:char16_t和char32_t

2.const限定符

将名称的首字母大写,以提醒该变量名表示常量

3.浮点类型

对于float,C++保证6位有效位。需要更高精度选择double或者long double,如

4.类型转换

(1)

(2)

5.C++11中的auto声明

auto不指定变量的类型

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • c++ primer中的const限定符

    const 限定符  const是一种类型修饰符,用于说明永不改变的对象.const对象一旦定义,就无法再赋新值,所以必须被初始化. 例:const int bufsize = 512; 它的值一旦定义就不能被改变,并且默认情况下,仅对文件内有效. 如果要在多个文件中共享const对象,则需要在定义和声明前都加extern: 初始化和对const的引用 例: const int ci = 1024; const int &r1= ci; r1 = 42; // 值不可以被改变 int &r

  • 《C++ Primer》隐式类类型转换学习整理

    C++ Primer中有这样一句话:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个转换.这句话用下面一段代码表示为: class A { A(B b);//单个实参的构造函数 func(A a); } ..... A a: B b; a.func(b);//func函数本应该接受A类型的实参,但是由于特殊构造函数的存在,所以B类型的参数b借助这个特殊的构造函数转化为A类型对象,完成转换.所以这条语句是正确的 从上述代码段可以看出来,单个实参调用的构造函数定义了类类型到其他类型的转

  • C++ Primer Plus 第四章之C++ Primer Plus复合类型学习笔记

    目录 1. 数组概述 1.1 数组的定义 1.2 数组的声明 1.3 复合类型的数组 1.4 数组的初始化规则 1.5 C++11数组初始化方法 2. 字符串 2.1 C++处理字符串的两种方式: 2.2 字符串常量的拼接 2.4 读取一行字符串的输入 3. string类 3.1 string对象的方式 3.2 复制.拼接和附加 4. 结构简介 4.1 创建结构的步骤: 4.2 结构的定义: 4.3 结构的初始化(C++11) 4.4 成员赋值 5. 共用体 5.1 结构体和共用体的区别 5.

  • C++ Primer中&、*符号的多重定义与int *p和int* p的区别讲解

    & 和*这样的符号,既能用作表达式里的运算符,也能作为声明的一部分出现,符号的上下文决定了符号的意义: int i = 42; int &r = i; //&紧随类型名出现,因此是声明的一部分,r是一个引用 int *p; //*紧随类型名出现,因此是声明的一部分,p是一个指针p p = &i; //&出现在表达式中,是一个取地址符 *p = i; //*出现在表达式中,是一个解引用符 int &r2 = *p; //&是声明的一部分,*是一个解引用

  • C++ Primer注解之引用和指针

    引用(reference) 引用: 指的是左值引用(lvalue reference) 引用:取小名,达到绑定对象的作用,而不是将初始值拷贝给引用 special: 不能和 字面值 和 计算结果 绑定 引用不是对象 对引用的操作,都是在与之绑定的对象上进行的 除了两种例外外,引用的类型 和 与之绑定的对象 要严格匹配 int i = 1024; int &r = i; //√ int型的r,来引用int型的i double dval = 3.14; int &reval = dval; /

  • 一篇文章带你了解C++Primer学习日记--处理数据

    目录 1.简单变量 1.1变量名 1.2整型short,int,long和long long 1.3无符号类型 1.4选择整型类型 1.5char类型 2.const限定符 3.浮点类型 4.类型转换 5.C++11中的auto声明 总结 1.简单变量 1.1变量名 1.以两个下划线打头或以下划线和大写字母大头的名称被保留给实现使用.以一个下划线开头的名称被保留给实现,用作全局标识符: 2. 类的成员变量一般都加上前缀"_",这样可以避免数据成员与成员函数的参数同名.这个是一般的命名规

  • 一篇文章带你顺利通过Python OpenCV入门阶段

    目录 1. OpenCV 初识与安装 2. OpenCV 模块简介 3. OpenCV 图像读取,显示,保存 4. 摄像头和视频读取,保存 5. OpenCV 常用数据结构和颜色空间 6. OpenCV 常用绘图函数 7. OpenCV 界面事件操作之鼠标与滑动条 8. 图像像素.通道分离与合并 9. 图像逻辑运算 10. 图像 ROI 与 mask 掩膜 11. 图像几何变换 12. 图像滤波 13. 图像固定阈值与自适应阈值 14. 图像膨胀腐蚀 15. 边缘检测 16. 霍夫变换 17.

  • 一篇文章带你吃透Vue生命周期(结合案例通俗易懂)

    目录 1.vue生命周期 1.0_人的-生命周期 1.1_钩子函数 1.2_初始化阶段 1.3_挂载阶段 1.4_更新阶段 1.5_销毁阶段 2.axios 2.0_axios基本使用 2.1_axios基本使用-获取数据 2.2_axios基本使用-传参 2.3_axios基本使用-发布书籍 2.4_axios基本使用-全局配置 3.nextTick和refs知识 3.0$refs-获取DOM 3.1$refs-获取组件对象 3.2$nextTick使用 3.3$nextTick使用场景 3.

  • 一篇文章带你使用Typescript封装一个Vue组件(简单易懂)

    一.搭建项目以及初始化配置 vue create ts_vue_btn 这里使用了vue CLI3自定义选择的服务,我选择了ts.stylus等工具.然后创建完项目之后,进入项目.使用快捷命令code .进入Vs code编辑器(如果没有code .,需要将编辑器的bin文件目录地址放到环境变量的path中).然后,我进入编辑器之后,进入设置工作区,随便设置一个参数,这里比如推荐设置字号,点下.这里是为了生成.vscode文件夹,里面有个json文件. 我们在开发项目的时候,项目文件夹内的文件很

  • 一篇文章带你搞定SpringBoot中的热部署devtools方法

    一.前期配置 创建项目时,需要加入 DevTools 依赖 二.测试使用 (1)建立 HelloController @RestController public class HelloController { @GetMapping("/hello") public String hello(){ return "hello devtools"; } } 对其进行修改:然后不用重新运行,重新构建即可:只加载变化的类 三.热部署的原理 Spring Boot 中热部

  • 一篇文章带你搞定SpringBoot不重启项目实现修改静态资源

    一.通过配置文件控制静态资源的热部署 在配置文件 application.properties 中添加: #表示从这个默认不触发重启的目录中除去static目录 spring.devtools.restart.exclude=classpath:/static/** 或者使用: #表示将static目录加入到修改资源会重启的目录中来 spring.devtools.restart.additional-paths=src/main/resource/static 此时对static 目录下的静态

  • 一篇文章带你解决 IDEA 每次新建项目 maven home directory 总是改变的问题

    Maven是基bai于项目对象模型,可以通du过一小段描述信息来管理zhi项目的构建,报告和文档的软件项dao目管理工具. 重装个系统,各种问题,idea 也出现各种问题 装了个新版的 idea 2020 2.x 版本的,不知道咋回事,其他都好使,就是创建 SpringBoot 项目时: 加载 pom.xml 总是出错,原因就是,新建立的项目 maven home directory 总是乱,没有安装 设置的默认方式 我试了,改当前项目的,不好使 该默认设置,不好使,网上的其他方法也试了,很奇怪

  • 一篇文章带你使用SpringBoot基于WebSocket的在线群聊实现

    一.添加依赖 加入前端需要用到的依赖: <dependency> <groupId>org.webjars</groupId> <artifactId>sockjs-client</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>org.webjars</groupId> <

  • 一篇文章带你搞定 springsecurity基于数据库的认证(springsecurity整合mybatis)

    一.前期配置 1. 加入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency> <dependency> <groupId>mysql</groupId> &

  • 一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃

    由于 Ubuntu 中的汉字输入实在是太不友好了,所以装了个 搜狗输入法,好不容易把 搜狗输入法装好,本以为可以开开心心的搞代码了,然而... pycharm 一打开,就崩溃,关不掉,进程杀死还是不行,只能关机重启. 本以为 pycharm 出现了问题,又重装了两遍,还是不行. 最终发现竟然是搜狗输入法以及 fcitx 输入法的锅 唉,只能老老实实的把 fctix 和搜狗输入法卸载了: (1)Ubuntu 软件里卸载 fctix,然后将键盘输入法系统改成 IBus (2)卸载搜狗输入法 先查找软

随机推荐