标签: 学习

11 篇文章

C++布尔类型(bool)
在C语言中,关系运算和逻辑运算的结果有两种,真和假:0 表示假,非 0 表示真。例如: #include <stdio.h> int main(){ int a, b, flag; scanf("%d %d", &a, &b); flag = a > b; //flag保存关系运算结果 printf("flag = %d\n"…
C++变量的定义位置
C++ 不但在C语言的基础上进行了很多扩展,而且也对C语言部分做了细节上的改进,变量的定义位置就是其中之一。 C89 规定,所有局部变量都必须定义在函数开头,在定义好变量之前不能有其他的执行语句。C99 标准取消这这条限制,但是 VC/VS 对 C99 的支持很不积极,仍然要求变量定义在函数开头。 C89 和 C99 是两套不同的C语言标准,C99…
C++输入输出(cin和cout)
在C语言中,我们通常会使用 scanf 和 printf 来对数据进行输入输出操作。在C++语言中,C语言的这一套输入输出库我们仍然能使用,但是 C++ 又增加了一套新的、更容易使用的输入输出库。 【例1】简单的输入输出代码示例: #include<iostream> using namespace std; int main(){ int …
C++头文件和std命名空间(精辟)
C++ 是在C语言的基础上开发的,早期的 C++ 还不完善,不支持命名空间,没有自己的编译器,而是将 C++ 代码翻译成C代码,再通过C编译器完成编译。这个时候的 C++ 仍然在使用C语言的库,stdio.h、stdlib.h、string.h 等头文件依然有效;此外 C++ 也开发了一些新的库,增加了自己的头文件,例如: iostream.h:用…
C++命名空间(名字空间)详解
一个中大型软件往往由多名程序员共同开发,会使用大量的变量和函数,不可避免地会出现变量或函数的命名冲突。当所有人的代码都测试通过,没有问题时,将它们结合到一起就有可能会出现命名冲突。 例如小李和小韩都参与了一个文件管理系统的开发,它们都定义了一个全局变量 fp,用来指明当前打开的文件,将他们的代码整合在一起编译时,很明显编译器会提示 fp 重复定义(…
算法衡量优劣之空间复杂度
1. 什么是空间复杂度? 算法的时间复杂度和空间复杂度合称为算法的复杂度 它表示算法所使用的额外空间随着输入规模增加而增加的速率 2. 空间复杂度可以通过以下方式进行分析: O(1) - 常数空间复杂度: 示例: 只使用固定数量的额外变量或常量大小的数组。 最佳实践: 常数空间复杂度是最理想的情况,尽量选择常数空间的算法。 O(n) - 线性空间复…
thumbnail
数据结构与算法之概念
1. 数据结构 存储、组织数据的方式 包括数组、链表、堆、栈、队列、树、图等 同样的数据不同的组织方式就是数据结构。比如对老王的姓名、年龄、性别的描述:   列表方式:[老王,18,男]  字典方式:{name:"老王",age:18,sex:"男"} 而列表、字典都可以存储了老王的数据,但按照不同的方式存储在内存中。 算法是为了解决实际…
thumbnail
Apache Parquet Avro 格式反序列漏洞
漏洞描述 Apache Parquet Java 是一个开源的工具,用于优化大规模数据处理。其中 parquet-avro 模块用于转换 parquet 格式与 avro 数据格式。 在 parquet-avro 1.15.0 及之前的版本中,AvroConverters.java 中的 FieldStringableConverter 方法未对传…
thumbnail
Java 近期新闻:Jakarta EE 11 Web Profile、GlassFish、TornadoVM、Micronaut、JHipster、Applet API
OpenJDK JEP 504(移除 Applet API)已从 JEP Draft 8345525 进入 到 Candidate 状态。该 JEP 提议移除自 JDK 17 起已被弃用的 Applet API,因为现代浏览器已不再支持 Applet。 JDK 25 JDK 25 早期访问构建版本 的 Build 17 已发布,包含自 Build …