自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 收藏
  • 关注

原创 《C++程序设计原理与实践》笔记 第21章 算法和映射

本章将完成我们对STL基本思想及其所提供的功能的介绍。本章重点关注算法。

2023-09-25 01:49:47 277

原创 再见,CSDN

再见,CSDN!

2023-09-04 22:50:11 13587 45

原创 使用Jekyll + GitHub Pages搭建个人博客

本文将介绍如何使用Jekyll搭建个人博客,并部署在GitHub Pages上。

2023-09-04 22:12:31 1944

原创 《C++程序设计原理与实践》笔记 第20章 容器和迭代器

本章和下一章将介绍STL,即C++标准库的容器和算法部分。关键概念序列和迭代器用于将容器(数据)和算法(处理)联系在一起。

2023-07-15 17:19:56 475

翻译 Spark入门教程

Apache Spark是一个开源的分布式计算框架,旨在提供快速、通用、易用的数据处理和分析技术。它可以在集群中处理大规模数据,支持多种数据处理模式,如批处理、交互式查询、流处理等。Spark还提供了丰富的API,包括Scala、Java、Python和R等语言的API,同时支持SQL查询和机器学习算法。Spark使用内存计算技术,在处理大规模数据时比Hadoop MapReduce更快,可以提高数据处理的效率。Spark还有一个名为Spark Streaming的库,可以用于实时数据处理和流处理。

2023-07-02 17:44:54 507

原创 《C++程序设计原理与实践》笔记 第19章 向量、模板和异常

本章将完成最常见、最有用的STL容器`vector`的设计与实现。我们将展示如何实现元素数量可变的容器,如何以参数形式指定容器的元素类型,以及如何处理越界错误。本章使用的技术依赖模板和异常,因此我们将介绍如何定义模板,并给出资源管理的基本技术,这些技术是正确使用异常的关键。

2023-06-16 00:30:58 708

原创 【C++】右值引用、移动语义和完美转发

在C++中,如果一个类获取了资源,则需要定义拷贝构造函数和拷贝赋值运算符以确保资源被正确地拷贝。然而,在某些情况下会存在不必要的拷贝,影响程序性能。为了解决这一问题,C++11引入了移动语义。本文首先介绍C++的左值和右值及其引用,之后介绍移动语义及其实现。

2023-06-02 01:50:58 634

原创 《C++程序设计原理与实践》笔记 第18章 向量和数组

本章将介绍如何拷贝以及通过下标访问向量。为此,我们讨论一般的拷贝技术,并考虑向量与底层数组表示之间的关系。我们将展示数组与指针的关系及其使用引发的问题。我们还将讨论对于每种类型必须考虑的五种基本操作:构造、默认构造、拷贝构造、拷贝赋值和析构。另外,容器还需要移动构造函数和移动赋值。

2023-05-28 11:54:48 1134

原创 gRPC入门教程

gRPC是Google开发的一个跨平台、开源的远程过程调用(RPC)框架,可以使用Protocol Buffers作为接口定义语言(IDL)和底层消息交换格式。

2023-04-30 00:37:09 1325

原创 Blade项目的IDE支持

Blade是一个C/C++构建工具,详细介绍见。虽然功能强大,但是缺少IDE支持。本文介绍如何在Blade项目中使用IDE的智能提示、自动补全、自动跳转等特性。

2023-04-25 10:20:43 1075 1

原创 《C++程序设计原理与实践》笔记 第17章 向量和自由存储

本章和后面四章介绍C++标准库的容器和算法部分(通常称为STL)。本章和后面两张的重点是最常用、最有用的STL容器——向量的设计和实现。

2023-04-22 21:58:03 796

原创 《C++程序设计原理与实践》笔记 第16章 图形用户界面

图形用户界面(graphical user interface, GUI)允许用户通过点击按钮、选择菜单、以不同的方式输入数据以及在屏幕上显示文本和图形等方式与程序进行交互。在本章中,我们将介绍编写代码来定义和控制GUI应用的基本方法。

2023-04-09 15:53:48 3667

原创 《C++程序设计原理与实践》笔记 第15章 绘制函数图和数据图

本章讨论绘制函数图和数据图的基本机制。关键例子是绘制一元函数图像,以及展示从文件中读取的值。

2023-03-20 00:39:11 2050

原创 《C++程序设计原理与实践》笔记 第14章 设计图形类

本章借助图形接口类介绍接口设计的思想和继承的概念。为此,本章将介绍与面向对象程序设计直接相关的语言特性:类派生、虚函数和访问控制。

2023-03-06 01:49:03 739

翻译 Django入门教程

官方教程介绍了如何创建一个简单的投票应用。

2023-03-03 01:28:09 825

原创 CMake构建工具使用教程

CMake是一个开源的、跨平台的C++构建工具。

2023-02-21 00:36:09 3166

原创 《C++程序设计原理与实践》笔记 第13章 图形类

第12章介绍了如何使用一组简单的接口类创建图形。本章将介绍每个接口类的设计、使用和实现。

2023-02-13 01:10:11 622

原创 《C++程序设计原理与实践》笔记 第12章 一个显示模型

本章介绍了一个显示模型(display model)(GUI的输出部分),并给出了使用示例和基本概念,例如屏幕坐标、线和颜色等。

2023-02-01 00:33:33 900 2

原创 《C++程序设计原理与实践》笔记 第11章 定制输入/输出

在本章中,我们重点关注如何使第10章中介绍的通用iostream框架适配特定的需求和偏好。

2023-01-25 00:32:12 1339

原创 《C++程序设计原理与实践》笔记 第10章 输入/输出流

在本章和下一章中,我们将介绍C++标准库中用于处理来自各种源的输入和输出的功能:I/O流。本章关注基本模型:如何读写单个值,以及如何打开和读写整个文件。下一章将介绍具体细节。

2023-01-14 02:24:54 805

原创 《C++程序设计原理与实践》笔记 第9章 类相关的技术细节

在本章中,我们继续关注主要的程序设计工具——C++语言。本章主要介绍与用户自定义类型(即类和枚举)相关的语言技术细节。这些语言特性大部分是以逐步改进一个Date类型的方式来介绍的。采用这种方式,我们还可以顺便介绍一些有用的类设计技术。

2023-01-01 14:49:44 1044

原创 《C++程序设计原理与实践》笔记 第8章 函数相关的技术细节

在本章和下一章中,我们将注意力从程序设计转移到主要的编程工具——C++语言上。我们会介绍一些语言的技术细节,来给出一个C++的基本功能的稍宽的视角,并从更系统化的角度讨论这些功能。

2022-12-24 23:43:43 380

翻译 Flink入门教程

Apache Flink是一个用于对无界或有界流式数据进行计算的框架和分布式处理引擎。

2022-11-06 21:58:34 2297

原创 《C++程序设计原理与实践》笔记 第7章 完成一个程序

编写程序需要不断地改进你要实现的功能及其表达方式。第6章给出了一个能够工作的计算器程序的最初版本,本章将对其进一步改进。“完成程序”意味着使程序更易于使用和维护——包括改进用户接口、做一些仔细的错误处理工作、增加一些有用的特性、重构代码使之易于理解和修改。

2022-10-30 02:49:06 625

原创 《C++程序设计原理与实践》笔记 第6章 编写一个程序

接下来的两章将从一个最初不清晰的想法开始,经过分析、设计、实现、测试、再设计、再实现等步骤开发一个计算器程序,目的是帮助读者了解在编写代码的过程中如何去思考。在这个过程中将讨论程序结构、用户定义类型和输入处理。

2022-10-16 16:00:02 950

原创 C++重定义问题

C++支持声明和定义分离,通常的做法是将声明放在头文件中、定义放在源文件中,通过包含头文件来引入声明。多次声明一个变量或函数不会有问题,但多次定义则会导致重定义错误。下面在两种不同场景下进行分析。

2022-10-12 22:40:23 3946

原创 GoogleTest使用教程

GoogleTest是由Google开发的一个C++测试框架,支持Linux、Windows和macOS操作系统,使用Bazel或CMake构建工具。

2022-10-06 15:08:10 8641 10

原创 《C++程序设计原理与实践》笔记 第5章 错误

本章将讨论程序的正确性、错误和错误处理。

2022-09-25 00:44:25 1165

原创 《C++程序设计原理与实践》笔记 第4章 计算

本章将介绍一些与计算相关的基本概念。

2022-08-26 00:09:30 1344

原创 《C++程序设计原理与实践》笔记 第3章 对象、类型和值

本章介绍程序中的数据存储和使用的基本知识。

2022-08-06 21:20:48 452

原创 《C++程序设计原理与实践》笔记 第2章 Hello, World!

为了使计算机能够做某件事,你需要在繁琐的细节上明确告诉它怎么做。对“怎么做”的描述称为(program),(programming)是书写和测试这个程序的行为。为了向计算机精确描述这些事情,我们需要一种由特定语法精确定义的语言,这种语言称为,C++是为各种编程任务而设计的编程语言。..................

2022-07-31 23:36:21 547

原创 《C++程序设计原理与实践》笔记 第0章 致读者

我们认为程序设计本身是问题求解的一种描述形式只有完全理解了一个问题及其求解方案,你才能用程序来正确表达它;而只有通过构造和测试一个程序,你才能确定你对问题和求解方案的理解是完整的、正确的。知其所以然是学会程序设计技巧所必需的。相反,仅仅不求甚解地记住大量规则和语言特性有很大局限,是错误之源,也是在浪费时间。如果你学习中略过一些细节,将来可能偶尔会因为缺少相关知识而被“灼伤”,但这是获取编写好程序所需完整知识结构的最快途径。我们的目标是,回答那些你在编写供他人使用的高质量软件时需要考虑的问题。........

2022-07-30 23:33:26 310

原创 《C++程序设计原理与实践》笔记 目录

C++程序设计原理与实践》(Programming–PrinciplesandPracticeUsingC++)(第1版)

2022-07-21 23:45:17 862

原创 《C程序设计语言》笔记 第7章 输入与输出

本章讲讲述标准库,介绍输出/输出、字符串处理、存储管理与数学函数以及其他一些服务的函数。本章的重点将放在输入/输出上。

2022-06-02 23:00:09 690

原创 《C程序设计语言》笔记 第6章 结构

结构(structure)是一个或多个变量的集合,这些变量可能是不同的类型,为了方便处理而组织在一个名字之下。由于结构将一组相关的变量看作一个单元而不是各自独立的实体,因此结构有助于组织复杂的数据,特别是在大型程序中。结构的一个传统例子是工资记录:每个雇员由一组属性描述,如姓名、地址、社会保险号、工资等。其中的某些属性也可以是结构,例如姓名可以分成几部分,地址甚至工资也可能是这样。C语言中更典型的一个例子来自图形学:点由一对坐标定义,矩形由两个点定义,等等。ANSI标准在结构方面最主要的变化是定义了结构

2022-05-23 22:50:01 1022

原创 【C++】二维数组的行指针和列指针

在C++中,数组与指针有密切的关系。任何通过数组和下标实现的表达式可等价地通过指针和偏移量实现。下面首先介绍一维数组与指针的关系,之后介绍二维数组的行指针和列指针。

2022-05-11 01:32:14 13641 15

原创 《C程序设计语言》笔记 第5章 指针与数组

指针(pointer)是一种保存变量地址的变量。在C语言中,指针的使用非常广泛。一个原因是,指针有时是表达某个计算的唯一途径;另一个原因是,同其他方法比起来,使用指针可以生成更紧凑、更高效的代码。指针与数组之间的关系十分密切,本章将讨论它们之间的关系,并探讨如何利用这种关系。指针和goto语句一样,会导致程序难以理解。如果使用者粗心,指针很容易就指向了错误的地方。但是,如果谨慎地使用指针,便可以利用它写出简单、清晰的程序。5.1 指针与地址5.2 指针与函数参数5.3 指针与数组5.4 地址算术运

2022-04-26 22:09:13 3039 3

翻译 Protocol Buffers入门教程

1.简介Protocol Buffers(简称为protobuf)是Google开发的用于序列化结构化数据的语言无关、平台无关、可扩展的机制。与JSON、XML等序列化方式相比,Protocol Buffers更小、更快、更简单。只需定义一次数据的结构化方式,之后就可以使用特殊生成的源代码很容易地将结构化数据读取和写入到各种数据流,并使用各种编程语言。TODO 什么时候需要用protobuf?与thrift的区别?项目主页:https://github.com/protocolbuffers/pro

2022-04-26 00:51:41 1843

翻译 面向Java程序员的Scala教程

官方教程:Scala for Java Programmers第一个示例第一个示例是标准的Hello world程序:object HelloWorld { def main(args: Array[String]): Unit = { println("Hello, world!") }}Java程序员应该熟悉该程序的结构:它由一个main方法组成,该方法以命令行参数(字符串数组)作为参数,方法的主体包括对预定义方法println的一次调用。main方法不返回值

2022-04-12 00:35:37 711

原创 《C程序设计语言》笔记 第4章 函数与程序结构

函数可以把大的计算任务分解成若干个较小的任务,使得程序设计人员可以基于他人已完成的工作编写程序,而不是从零开始。一个设计得当的函数可以把程序中不需要了解的具体操作细节隐藏起来,从而使整个程序结构更加清晰,并降低修改的难度。C语言程序一般由许多小的函数组成,而不是由少量较大的函数组成。4.1 函数的基本知识4.2 返回非整型值的函数4.3 外部变量4.4 作用域规则4.5 头文件4.6 静态变量4.7 寄存器变量4.8 程序块结构4.9 初始化4.10 递归4.11 C预处理器4.1

2022-04-05 10:31:36 1708

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除