自学c++笔记(二)

2023-11-16

笔记记录本人学习C++路上的一些摘要与总结,供本人阅读同时也分享与他人。

变量的定义

int carrots;  
carrot = 25;
cout << carrots //会输出25

int:表示整数
carrot :来标识存储在该内存单元的值
cout 可以识别和显示不同数据类型

(符号"<<“和”>>"被选择用来指示信息流的方向)
与cout一样,cin也是一个智能对象。它可以将通过键盘输入的一系列字符(即输入)转换为接收信息的变量能够接收的形式。

也可以使用cout进行拼接,如将4条输出语句合并为一条

cout << "Now you " << carrots << " carrots" << endl;
//输出为Now you 25 carrots

类是用户定义的一种数据类型。类之于对象就像类型之于变量。
类定义描述的是数据格式及其用法,而对象则是根据数据格式规范创建的实体。

头文件的不同

C/C++的头文件不同,在C中包含sqrt()函数的头文件为math.h,而C++则为cmath,在C++也可以用math.h。
在程序中使用一些库函数时,如sqrt(),必须提供原型(double sqrt(double))原型一般在头文件中,所以需要用到一些特定函数时,我们要加特定的头文件。

*如果在linux和UNIX系统中编译时,可能会无法搜索到库,需要在命令行结尾使用-lm选项,如

g++ sqrt.c -lm

C++允许在程序的任何地方声明新变量

对于有返回值的函数,应使用关键字return来提供返回值,并结束函数。

名称空间std

using namespace std; 放在一个函数里面,这个函数才能使用cout,如果想让所有函数不一一在函数体内声明,就要在所有函数前(最开头)这条。

让程序能够访问名称空间std的方法有四种,下面举例一下
1.将using namespace std; 放在所有函数定义之前,让文件中所有函数都能够使用名称空间std中所有的元素。如下:

//都可以使用名称空间std中的所有元素
#include<iostream"
using namespace std;
int main()
{
	cout << "YES" << endl;   
	int mac()
	{
	cout << "YES" << endl;
	}
	return 0;
}

2.将using namespace std; 放在特定的函数中,让该函数能够使用名称空间std中的所有元素。如下

....
cout << "No" << endl; //错误函数外没有加using namespace std,不能直接使用cout和endl
int mac()
{
	using namespace std;
	cout << "No" << endl;  //函数里面有using namespace std; ,可以使用cout和endl
}

3.在特定的函数中使用类似using std::cout; 这样的编译指令,而不是using namespace std; 。让该函数能够使用指定的元素,如cout。

//using namespace std;
using std::cout //编译指令后,可以直接使用cout
cout << "I'm OMGMac " << std::endl; //endl没有编译过,因此需要加std::前缀

4.完全不使用编译指令using,而在需要使用名称空间std中的元素时使用前缀std::,如下所示:

std::cout << "I'm OMGMac " << std::endl;

本人水平有限,上述信息仅供学习参考,如有错误和不妥之处,请多多指教。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自学c++笔记(二) 的相关文章

  • #include 在 ubuntu 中“没有这样的文件”

    当使用 g std c 0x Wall test cc o hello 编译时 输出致命错误 cstdatomic 没有这样的文件或直接 哪里不见了 包含内容应该是 include
  • C++ Singleton 类 getInstance (作为 java)[重复]

    这个问题在这里已经有答案了 可能的重复 谁能给我提供一份 C 中的 Singleton 示例吗 https stackoverflow com questions 270947 can any one provide me a sample
  • HttpResponseMessage 的内容为 JSON

    我有一个 ASP NET MVC WEB API 由于多种原因 由于没有授权而重定向 我不能只使用一个简单的对象并在我的控制器方法中返回它 因此我需要 HttpResponseMessage 类来允许我重定向 目前我正在这样做 var re
  • 对相当大的整数的大集合的操作的快速实现

    描述 我实现了以下类 LabSetInt64 参见下面的代码 这里的目标是尽可能快地操作大量大整数 最多 10M 的值 我的主要要求集中在 至关重要 尽快获取集合的大小 基数 重要 能够非常快速地迭代一组集合 所以 从下面的实现开始 我还有
  • 函数原型和数组参数

    我正在学习 C 语法 并且已经开始研究数组了 我想问你一个问题 但首先让我回顾一下 这样我就知道我已经弄清楚了 我知道您可以使用以下语法将变量定义为数组 name
  • .NET 中 IEqualityComparer 中 GetHashCode 的作用是什么?

    我试图了解 IEqualityComparer 接口的 GetHashCode 方法的作用 下面的例子取自MSDN using System using System Collections Generic class Example st
  • 让 GCC/Clang 使用 CMOV

    我有一个简单的标记值联合 这些值可以是int64 ts or doubles 我正在对这些联合进行加法 但需要注意的是 如果两个参数都代表int64 t值 那么结果也应该有一个int64 t value 这是代码 include
  • 最小对的总和

    Given 2N点 in a 2D plane 你必须将它们分组为N pairs使得所有对的点之间的距离的总和是最小可能值 所需的输出只是总和 换句话说 如果a1 a2 an分别是第一对 第二对 和第 n 对点之间的距离 则 a1 a2 a
  • 在标准库中静态链接时如何支持动态插件?

    假设一个应用程序myapp exe是使用构建的g 它使用标志 static libstdc 这样就可以安装在没有环境的情况下libstdc so myapp exe还添加了对某些功能的插件支持plugf可以通过动态加载dlopen来自共享库
  • 使用 for 循环创建链表

    这是我的结构 struct ListItem int data struct ListItem next 假设链表的第一个节点的 data 0 我想编写一个 for 循环来创建大小为 5 的链表 但我不知道如何工作 我尝试了以下方法 int
  • C语言中如何将整数转换为字符? [复制]

    这个问题在这里已经有答案了 C语言中如何将整数转换为字符 C 中的字符已经是数字 字符的 ASCII 代码 无需转换 如果要将数字转换为相应的字符 只需添加 0 即可 c i 0 0 是 ASCii 表中的一个字符
  • 如何从句柄确定进程是 32 位还是 64 位?

    如何从使用 OpenProcess 获取的进程句柄中获取信息 无论进程是 32 位还是 64 位 是的 IsWow64Process 毫无用处 令人烦恼 它的真正意思是 启用了 32 位模拟 如果您在 32 位操作系统上运行 则返回 fal
  • 派生类的聚合初始化

    以下代码无法使用 Visual Studio2017 或在线 GDB 进行编译 我期望它能够编译 因为迭代器只是一个具有类型的类 并且它是从公共继承的 这是不允许的还是在 VS2017 中不起作用 template
  • C# 编译器编译 .txt .obj .java 文件

    using System class Program public static void Main Console WriteLine Hello World Console ReadLine 我将文件另存为1 java 2 obj an
  • 使用std::begin()、std::end()将ArrayXd转换为stl向量,

    在我看来我应该能够使用std begin and std end 转换ArrayXd to std vector
  • C# 记录类型:记录子类之间的相等比较

    给定父记录类型 public record Foo string Value 和两个记录子类Bar and Bee我想知道是否可以实施Equals在基类中 因此 Foo Bar 或 Bee 的实例都被考虑equal基于Value 两者都与E
  • 通过 OCI 调用 Oracle 存储过程并使用 C++ 中的 out ref 游标返回结果

    我想使用 OCI 接口从 C 调用 Oracle 存储过程 并使用 out SYS REF CURSOR 作为过程的参数来迭代结果 我是 OCI 新手 所以可能会遗漏一些简单的东西 大部分代码取自这里 我的存储过程是 CREATE OR R
  • 如何通过Task.ContinueWith创建传递?

    我想在原始任务结束时添加一个任务 但想保留原始结果和类型 附加任务仅用于记录目的 例如写入控制台等 例如 Task Run gt DateTime Now Hour gt 12 Hey throw new Exception Continu
  • 为什么 32 位 .NET 进程的引用类型的最小大小为 12 字节

    我正在读专业 Net 性能 https rads stackoverflow com amzn click com 1430244585本书有关参考类型内部结构的部分 它提到 对于 32 位 net 进程 引用类型具有 4 字节的对象头和
  • 散列 hash_hmac 时,Convert.ToChar(0) 散列结果与 PHP 中的 chr(0) 不同的字符串

    我在 PHP 中有一个字符串 它被转换为字节数组并进行哈希处理 转换为字节数组的字符串如下所示 G 字符 0 便便 我需要 C 中的等效字节数组 这样我才能得到相同的哈希值 编辑 这是完整的问题 生成的哈希值不同 PHP api secre

随机推荐

  • 【redis事务】@Transactional对Redis事务起作用(包含redis+lua)

    redis事务 Transactional对Redis事务起作用 包含redis lua 一 前言 二 准备 三 StringRedisTemplate 开启事务 四 关键代码 验证 Transactional对redis事务是否生效 五
  • java帧结构_详细解析Java虚拟机的栈帧结构

    什么是栈帧 正如大家所了解的 Java虚拟机的内存区域被划分为程序计数器 虚拟机栈 本地方法栈 堆和方法区 什么 你还不知道 赶紧去看看 Java虚拟机内存结构及编码实战 这次要介绍的栈帧 Stack Frame 就是Java虚拟机中的虚拟
  • stm32F1的JTAG、SWJ作为普通引脚使用。禁用JTAG、SWJ。

    stm32F1的JTAG SWJ引脚 为 PA13 PA14 PA15 PB3 PB4 单片机复位后 默认功能为 JTAG SWJ 而实际使用中 一般只使用 SWCLK SWDIO这两个引脚做 Debug 其余的引脚可以空出来 重新定义为普
  • 红外避障小车(ZK-2)初步拼装

    红外避障小车 ZK 2 初步拼装 一 拼装零件 1 M330螺丝4个 2 M312铜柱4个 3 M8螺丝4个 M36螺丝8个 4 码盘2个 5 M3螺母8个 6 T型小支架4个 7 船型开关1个 8 轮胎2个 9 万向轮1个 10 电池盒1
  • [Java反序列化]AspectJWeaver反序列化

    Java反序列化 AspectJWeaver反序列化 前言 2021年二月份ysoserialize增加了这条AspectJWeaver链子 之后陆续在2021年的D3CTF以及国赛决赛中都出现了这条链子的攻击 所以学习一下AspectJW
  • 深入学习jquery源码之replaceWith()和replaceAll()

    深入学习jquery源码之replaceWith 和replaceAll replaceWith content fn 概述 将所有匹配的元素替换成指定的HTML或DOM元素 参数 content String Element jQuery
  • 网络推广引流方法大全

    在互联网的圈子里有关网络推行的问题是一个永久的话题 你的商品哪怕再好假如没有推行进来一切都是白搭 经常听有人说 酒香不怕巷子深 但分离当今社会的方式 特别是在竞争日益严酷的今天我想 酒香也会怕巷子深了 进入互联网时期 企业产品推行再也不能仅
  • Nosql 概念释义

    进几年常常听到一个高大上的名字 osql 再加上鼓吹者说Nosql将会消灭关系数据库 今天怀着好奇心里 简单了解了以下Nosql的概念 发现其实没有那么神秘 被鼓吹者夸大其词了 导致我等门外汉一下子给打懵了 我认为 一个新技术要想让大家使用
  • IDEA插件系列(9):MyBatisX插件——Mybatis插件

    MybatisX插件功能 mapper和xml可以来回跳转 mybatis xml 映射器 xml提示 mapper和xml支持自动提示 如jpa 参考MybatisCodeHelperPro 集成mybatis生成器Gui 从免费myba
  • 【译】A gentle introduction to self-sovereign identity

    2017年5月17日 ANTONYLEWIS2015 2017年5月 印度互联网和社会智库中心发布了一份报告 详细说明了印度国家身份数据库 Aadhaar 泄漏可能会泄露个人信息的方式 该信息涉及超过1 3亿印度国民 泄密事件为财务欺诈创造
  • 关于习而学的软件工程教育

    邹欣老师的博客在此 http www cnblogs com xinz archive 2012 01 08 2316717 html 我不是很同意邹欣老师的观点 对于一个大学生 思想远比实践经验要重要 子曾经曰过 世界上最简单的事情就是学
  • 再也不用手写爬虫了!推荐5款自动爬取数据的神器!

    大家好 我是菜鸟哥 今天给大家推荐一些不错的神器 网络信息的时代 想要收集信息 爬虫是一项必不可少的工具 对于很多小伙伴们来说 只是想利用爬虫进行快速的内容抓取 而并不想太过深入的学习爬虫 利用python编写爬虫程序虽然炫酷 但是需要耗费
  • java字符串模式匹配next_字符串的模式匹配详解--BF算法与KMP算法

    一 BF算法 BF算法是普通的模式匹配算法 BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配 若相等 则继续比较S的第二个字符和P的第二个字符 若不相等 则比较S的第二个字符和P的第一个字符 依次比较下去 直到得出最后
  • 关于python中的闭包与for循环(可变变量)的矛盾以及如何避免

    本文只讲一个重点 闭包与for循环之间的矛盾以及避免的方法 关于闭包的概念 请参考网上的概念 废话不多说来看以下代码 def count fs for i in range 1 4 def f return i i fs append f
  • AXI DMA学习

    AXI总线协议 一 概述 AXI 高性能扩展总线接口 Advanced eXtensible Interface 是ARM AMBA 单片机总线系列中的一个协议 是计划用于高性能 高主频的系统设计的 AXI协议是被优化用于通过使用Xilin
  • ibms智能化系统集成服务器,智能化集成管理系统(IBMS)

    IBMS是在BMS的基础上更进一步的与通信网络系统 信息网络系统实现更高一层的建筑集成管理系统 IBMS 就是建立在5A集成之上的更高层次的集成 5A是指OA 办公智能化 BA 楼宇自动化 CA 通讯传输智能化 FA 消防智能化 SA 安保
  • JAVA多态机制简述

    多态是指方法或对象具有多种形态 是oop的第三大特征 其是建立在封装和继承之上的 多态的体现 1 方法多态 1 重载体现多态2 重写体现多态 2 对象多态 1 对象的编译类型和运行类型可以不一致 编译类型在编译时就会确定 2 对象的运行类型
  • 渗透测试--medium_socnet

    靶机下载地址 https download vulnhub com boredhackerblog medium socnet ova 实验环境 Kali IP 192 168 172 134 靶机 medium socnet 主机发现 a
  • QT学习——QTreeView获取选中单行数据和多行数据

    个人感觉QTreeView有些地方的使用没有MFC的CListCtrl方便 比如在不响应单击信号的情况下 获取选中行的数据 单行和多行 也许因为我是新手吧 一 获取单行选中的数据 QModelIndex selected ui treeVi
  • 自学c++笔记(二)

    笔记记录本人学习C 路上的一些摘要与总结 供本人阅读同时也分享与他人 变量的定义 int carrots carrot 25 cout lt lt carrots 会输出25 int 表示整数 carrot 来标识存储在该内存单元的值 co