笔记:C++学习之旅---初识C++

         博主也是一个新手,学习编程才一年左右,刚大学毕业不久,以前在学校学习的语言主要是C,本人是从嵌入式学起的!我现在从事的公司主要是C++,所以我也开始了自学之路,以下是我学习过程的一些笔记,有的是截取书上的,有的是自我总结的,出现一些错误也请见谅,同时也是为了激励我自己以及和大家一起学习!!!
C:面向结构化(或者说面向过程),将大程序拆分成若干小结构(模块),每个结构完成一个或多个功能,所以结构集合起来就完成了一个大功能。
C++:面向对象,有能力将大程序分成若干个对象,每个对象中在封装部分数据和实现功能方法,一个对象访问另一个对象的数据,必须挣得对象的同意,面向对象中数据的改变也不影响其他对象,从而解决了安全性问题,另一方面,面向对象允许将具有相同特征的对象划分为一类,而同一类的对象又可以继续向下派生,父生子,子生孙,代码不经修改即可重复利用,从而实现了代码的重用。可重用性、多态、封装、继承。
C++可重用性:将相关的数据和结构看成一个整体,利用已有的代码创造新的代码(比如说游戏要为一个怪物添加一个新功能,C必须重新改写各个模块功能然后加上新功能来实现,而C++只需要在已有的数据上面添加即可
)。
C++多态性:指不同的对象采用相同的方法会导致不同的结果或者行为(比如不同的球员采用同一方式进门,技术不同那么概率也不同)。

iostream(输入输出流)是个标准库,包含了众多的成员函数,每个函数都有其自身作用


”endl“换行符号与"\n"的区别是”endl“除了具备“\n”换行功能外,还调用输出流的flush函数,刷新缓冲区,让数据直接写入文件或者屏幕上。

std::是个名称空间标识符,C++标准库中的函数或者对象是在命名空间std中定义的,所以我们要使用标准库中的函数或者对象都要用std来限定。
       std都是要调用C++标准库时使用
     如:使用标准库文件iosteam时,要加上std;使用非标准库文件iostream.h,不用写。

    #include<iostream>
    using namepace std; //使用名字空间就不用重复写std;

cout(读see-out):是标准库提供的一个对象    标准输出  打印语句的。
cin(读see-in):标准输入
cerr(读see-err):标准错误,来输出警告和错误消息的。
clog(读see-log):用来输出程序运行时的一般性信息。

iostream.h为非标准的输入输出流,这个.h的头文件是C语言格式的,由于当时还没有名字空间这个说法,所以也就不存在std这个名字空间标识符。自然用isotream.h也就用不着std或者using namespace std了;
iostream 为标准输入输出流,它是C++规范的带有名称空间的头文件,它包含在std名字空间内
而iostream流里又包含cin和cout输入输出对象,所以使用cout的时候必须加上std。

名字空间的作用
C++里引入名字空间的目的是为了避免和减少命名冲突,一旦一个程序写大了,就喊难避免重名,特别是多人合作的情况下,这就是引入namespace名字空间的好处。

C++有六种数据类型
他们分别是布尔型(bool)、字符型(char)、双字符型(wchar_t)、整型(int)、单精度浮点型(float)和双精度浮点型(double)。
bool类型占一个字节
char类型占一个字节
wchar_t类型占一个字节
float类型占4个字节
double类型占8个字节
int 类型占4个字节
short  类型占2个字节
long 类型占4个字节

8位二进制数是一个字节,那么4个二进制数字就是半个字节比如(1010 0101)中,1010是前半个字节,叫高8位,0101为后半个字节,叫低8位。
大端模式和小端模式
大端模式:是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中
小端模式:是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。



笔记:C++学习之旅---初识C++的更多相关文章

  1. 笔记-JavaWeb学习之旅7

    JavaScript基础 概念:一门客户端脚本语言,运行在客户端浏览器中,每一个浏览器都有JavaScript的解析引擎,是一个脚本语言,不需要编译,直接就可以被浏览器解析执行. JavaScript ...

  2. 笔记-JavaWeb学习之旅5

    CP30的演示 package cn.itcast.datasourcejdbc; import com.mchange.v2.c3p0.ComboPooledDataSource; import j ...

  3. 笔记-JavaWeb学习之旅19

    Redis:redis是一款高性能的NOSQL系列的非关系型数据库 NOSQL: Not Only SQL ,意即"不仅仅是SQL",是一项全新的数据库理念,泛指非关系型数据库 r ...

  4. 笔记-JavaWeb学习之旅18

    AJAX:ASynchronous JavaScript And XML 异步的JavaScript 和XML 异步和同步:客户端和服务器端相互通信的基础上 同步:客户端操作后必须等待服务器端的响应, ...

  5. 笔记-JavaWeb学习之旅17

    1.过滤选择器 首元素选择器:first 获得选择的元素中的第一个元素 尾元素选择器:last获得选择元素中的最后一个元素 非元素选择器:not(selector) 不包括指定内容的元素 偶数选择器: ...

  6. 笔记-JavaWeb学习之旅16

    增强对象的功能 动态代理:在内存中形成代理类 实现步骤: 代理对象和真实对象实现相同的接口 代理对象 = Proxy.newProxyInstance(); 使用代理对象调用真实对象的方法 增强方法 ...

  7. 笔记-JavaWeb学习之旅15

    Filter:过滤器 概念:当访问服务器的资源是,过滤器可以将请求拦截下来,完成一些特殊的功能 快速入门: 步骤: 定义一个类,实现接口Filter 复写方法 配置拦截路径 package com.d ...

  8. 笔记-JavaWeb学习之旅14

    JSTL:JavaServer Pages Tag Library JSP标准标签库 if标签 <%@ page import="java.util.ArrayList" % ...

  9. 笔记-JavaWeb学习之旅10

    Servlet server applet运行在服务器端的小程序,servlet就是一个接口,定义了Java类被浏览器访问到的规则(Java类重写这个接口,就可以被浏览器(tomcat)识别) Ser ...

  10. 笔记-JavaWeb学习之旅13

    验证码案列 昨天晚上出现的500错误原因在于验证码没有获取到,获取验证码是应该获取的是共享域中的验证码,而我把获取值得键给写成了jsp中的键,而不是内存生成图片中,然后把图片上传到共享域中的键.这两个 ...

随机推荐

  1. 重写antd组件样式

    :global { .ant-select-selection-placeholder { color: #FFF; font-size: 14px; } .ant-select-selection- ...

  2. 磊磊零基础打卡算法:day20 c++dfs树的深度优先遍历

    5.24 dfs深度优先搜索: 思想比较简单,就是一条路走到底,走到最深点处再回退一步,再看有没有路可以走,没有的话再回退一步,重复此步骤: 也是人们常讲的暴搜. 主要的用法: 通常需要一个状态数组来 ...

  3. python 连接蓝牙设备并接收数据

    python 连接蓝牙设备 原始内容 # %% from binascii import hexlify import struct from bluepy.btle import Scanner, ...

  4. linux操作系统scp 命令远程复制文件

    scp  复制文件到远程服务器,端口限制情况下 scp -P 22  文件名  远程服务器用户名@IP:/路径 scp -P 22 file user@IP:/file scp -P 复制文件到远程服 ...

  5. scrapy框架中的pipelines没有成功调用process_item方法

    提示报错 原因: items没有接收到Spider的返回值,导致pipelines没有接收到items模块的返回值,检查Spider模块是否正确返回值,我这里的原因是,数据解析完成后没有yield i ...

  6. selenium 模拟鼠标滚轮,滚动到可见的选项

    self.wrap_driver.move_to_element(locator=const_xpath.monitor_select) #鼠标移动到某个区域target = self.driver. ...

  7. 微信小程序中如何识别银行卡和身份证

    识别银行卡云函数card2/index.js: const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRE ...

  8. classpath、path、JAVA_HOME的作用及JAVA环境变量配置 (转)

    CLASSPATH是什么?它的作用是什么? 它是javac编译器的一个环境变量.它的作用与import.package关键字有关.当你写下improt java.util.*时,编译器面对import ...

  9. NET 8 预览版 2 亮点是Blazor

    .NET 团队在2023年3月14日发布了.NET 8预览版2,博客文章地址:https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-pre ...

  10. Learning with Mini-Batch

    在机器学习中,学习的目标是选择期望风险\(R_{exp}\)(expected loss)最小的模型,但在实际情况下,我们不知道数据的真实分布(包含已知样本和训练样本),仅知道训练集上的数据分布.因此 ...