木有BUG!站点正常运行(ノ゚▽゚)ノ | 最近更新:Cpp基础教程 | 更新时间:2023-03-01

有关于C++的基础教程,该教程建立在学习过C语言的基础上,进行对比学习,了解不同的特性和更多新内容

注:该教程建立在学习过 C 语言的基础上,因此很多提过的细节会忽略,主要学习一些 C 语言没有或不同的特性,建议先学习C 语言基础教程

此外本文章中没有特殊重申的,大多语句和特性都与 C 语言相同,C++是 C 的超集,兼容了 C 的大多数特性


开始


章节概要:编写一个简单的 C++程序;初识输入输出;使用 C++ 版本的 C 标准库头文件;类简介

阅读更多
C++基础语法

有关于C语言的基础教程,包括基本语法、基础的底层逻辑知识与一部分数据结构,比较适合有一定经验的初学者上手

初识 C 语言


章节概要:C 语言的特点;计算机工作原理;高级计算机语言;编译器;编程步骤;C 编程机制

特点
  • 设计特性

    C 语言融合了计算机科学理论实践的控制特性
    C 语言的设计理念让用户轻松完成自顶向下的规划结构化编程模块化设计

阅读更多
C语言基础语法

学习有关Cmake构建的知识,学会使用Cmake进行编译

Cmake 简介


  • Cmake 是什么

    1、Cmake高级编译配置工具。当多个人要用不同的语言或者编译器开发一个项目,最终要输出一个可执行文件共享库,这时候Cmake 的作用就凸显出来了
    2、Cmake所有操作都是通过编译CMakeLists.txt所写内容来完成的
    3、学习Cmake的目的,是为了将来处理大型 C/C++/Java 项目做准备,其也是一种生成 Makefile 的工具

阅读更多
C语言C++Cmake

Vscode进阶篇,学习.vscode配置文件和Clang+Cmake的配置与使用

前置准备


  • 前言及准备

    1、首先,请确保你已经根据VScode 基本环境配置文章学会了配置环境,并成功配置了 C/C++环境
    2、比起前文的方案使用GCC 编译器,本方案使用Clang + Cmake配置环境,因此需要在上方文章所给链接下载LLVM/Clang套件
    3、同MinGW-w64配置方法类似,将bin 目录添加到Path 环境变量中,确保在cmd中输入clang -v输出clang 版本号,配置完成后进入下面的步骤

阅读更多
Cmake环境配置VScode

C/C++的数据类型表示范围有上限,使用高精度算法进行大数运算

引入


1、C 与 C++的数据类型表示范围有上限,有时会遇到一些特别大的数据量级,使用unsigned long long都无法表示
2、此时需要使用高精度算法,当然通常只用来表示数据和做一些简单运算
3、所谓高精度,就是用字符数组模拟数据运算(运算过程大多模拟竖式运算)
4、下面将介绍一些常用的高精度算法

阅读更多
C语言C++高精度

Qt环境配置,以及使用其他IDE或编辑器开发Qt

下载


Qt 中文官网


安装 Qt


  • Qt 安装说明

1、安装 Qt,记住Qt 安装的路径,选择组件时,在Qt一栏选择需要的Qt 版本
2、其中 Qt 版本下选择的是对应的开发库,MSVCMinGW两个编译器使用哪个就选中哪个,其余组件按需选择
3、此外最下方的开发工具,按需选择。其中CmakeNinja建议必选,如果使用MinGW还需要选择对应的 MinGw 版本

阅读更多
前置准备环境配置Qt

分析算法的时间复杂度与空间复杂度

引入


  • 引入

    1、算法竞赛是思维脑力的较量。一道好的算法题可以区分出好的算法程序(可以获得较高得分)和不那么好的算法程序(低分甚至零分)
    2、评价算法的优劣是有一套标准的。利用这套标准,可以在动手实践之前即可估计这种写法是否靠谱
    3、如果判断这套算法可能超时超出内存限制而导致无法得分,则应该想想有没有更好的写法
    4、接下来便来学习如何评价一套算法

阅读更多
理论

C/C++有时会遇到复杂的声明,只依靠符号优先级阅读与判断仍较为复杂,可以按照此黄金法则快速判断

引入


  • 我们在编写C/C++代码时,常常会遇到类似如下的复杂声明

    int board[8][8];        // 声明一个指向 int 数组的数组
    int **ptr;              // 声明一个指向指针的指针,被指向的指针指向 int
    int *risks[10];         // 声明一个内含10个元素的数组,每个元素都是一个指向 int 的指针
    int (*rusk)[10];        // 声明一个指向数组的指针,该数组内含10个 int 类型的值
    int *oof[3][4];         // 声明一个3*4的二维数组,每个元素都是指向 int 的指针
    int (*uuf)[3][4];       // 声明一个指向3*4二维数组的指针,该数组中内含 int 类型的值
    int (*uof[3])[4];       // 声明一个内含3个元素的数组,其中每个指针都指向一个内含4个 int 类型值的数组
  • 对此,我们可以按照以下黄金法则进行快速判断(参考 bilibili 视频)

阅读更多
C语言C++技巧