BlockLune's Blog

Home Tags About

Posts with tag cpp

My GDB Cheat Sheet

2024-03-09
ccpptoolgdbdebugging

The GNU debugger is a powerful tool for the debugging of (mainly) C/C++ programs. In this post I document the common operations of gdb and some useful learning resources.

My personal summary of Stanford CS106L

2023-06-01
cppmodern-cppstanfordprogramming-languagesoftware-engineering

This is CS106L, an in-depth modern C++ language course from Stanford. I enrolled in it at the beginning of April and almost finished it today.

Const Correctness in C++

2023-06-01
cppsoftware-engineeringconst-interfaceconst-correctnessprogramming-language

This is a note for Lecture 8, CS106L, Spring 2023.

Type Safety and std::optional in C++

2023-05-31
cppconst-correctnesstype-safetysoftware-engineeringprogramming-language

This is a note for Lecture 14, CS106L, Spring 2023.

Move Semantics in C++

2023-05-30
cppmove-semanticsr-value-referencespecial-member-functionsprogramming-language

This is a note for Lecture 13, CS106L, Spring 2023.

static_cast and const_cast in C++

2023-05-30
cppprogramming-languagesoftware-engineeringconst-caststatic-cast

This is a note for Lecture 8, CS106L, Spring 2023.

Uses std::cin.ignore() to keep the user typing until the input meets the requirements

2023-03-25
cppcinput-validationstd-cin

I used to control users' input by making the input a string and process it later. But today, my friend posed this question to me: Can we control input without a char array or string class?

The const and constexpr in C++ (REMAKE)

2023-03-24
cppprogramming-languageconst-usageconstexpr

I have written a post about const in C++ in Chinese before, but it was too verbose and unclear. :( So, I decided to rewrite it.

error: summary string parsing error 错误解决方法

2023-01-11
ccppclanglldbdebugging

直接先说解决方法:在使用 clang 工具链进行编译的时候,添加编译选项 -fstandalone-debug。

Makefile 简单笔记

2023-01-08
ccppmakefilesoftware-engineeringbuild-tool

这是一篇笔记,原视频是 @于仕琪 老师的 《Makefile 20 分钟入门,简简单单,展示如何使用 Makefile 管理和编译 C++ 代码》。

C 标准库中 qsort 和 C++ STL 中 sort 的用法

2022-12-08
ccppalgorithmprogramming-languagesorting

虽然到现在还是不能完全理解 qsort 和 sort 这两个函数的底层原理,但至少,先学会如何使用吧。

求解最大公约数的四种算法

2022-12-04
algorithmdata-structurecppgcd-algorithmeuclidean-algorithm

这是一次计算机导论课的作业。本来对于最大公约数的求解算法,我就只知道一个辗转相除法。原来,其实还有别的一些 ...

C++ const 用法汇总

2022-11-17
cppconstcprogramming-languageconst-qualifier

最开始只是用 const 来定义常量,学到了指针传参的时候又知道了用 const 来防止一些值的修改,学到类的时候又看到非静态成员函数后边加个 const 来干嘛干嘛,然后么又听说什么顶层 const、底层 const... 真是越学越迷糊了,赶紧做一波整理。

二维数组到底是啥啊...

2022-11-16
cppdata-structuremultidimensional-arrayprogramming-language

一维数组还是比较容易理解的,但是二维数组,我始终没弄清楚这玩意儿是按照什么规则从二维的样子转成一维然后存起来的,也因此常常犯下下标写反了的错误。我觉得是时候详细地理一理这玩意儿到底是个啥了...

当形参、实参是指针变量...

2022-11-16
ccpppointer-passingfunction-parameters

接《一个有关指针传参的问题》,再理一理这里边的一些问题...

值传递、指针传递、引用传递

2022-11-05
ccppprogramming-languageparameter-passingfunction-arguments

接上文《一个有关指针传参的问题》,打算结合一些简单的例子系统地梳理一下 C/C++ 中的值传递、指针传递和 C++ 中特有的 引用传递。

一个有关指针传参的问题

2022-11-03
ccpppointer-manipulationmemory-managementprogramming-language

这是我学习指针过程中遇到的一个问题,问过大佬才似乎懂了点,在此记录。顺便记下一句大佬说的话:注意到一点就行,指针其实也就是个存了内存地址的变量,它本身同时也具有内存地址。

C/C++ 中赋值语句的返回值问题

2022-10-27
ccppprogramming-languageassignment-operatorloop-control

我曾经一直以为 C/C++ 中赋值语句的返回值不是 0 就是 1 —— 成功执行赋值操作返回 1,没有成功执行就返回 0。直到今天课上的一个例子,才让我知道,原来赋值语句的返回值就是赋的值的大小!

C/C++ 格式化输入输出汇总

2022-10-19
ccppprogramming-languageio

本文汇总一下 C 语言 scanf 和 printf 的格式控制方法以及 C++ 的 <iomanip> 库。

C 语言中与(&&)和或(||)运算符的短路运算

2022-10-11
ccppprogramming-languageshort-circuit-evaluationlogical-operators

此篇笔记来源于下边的这个题目。

补记一个用 C++ 实现的 2048 小游戏

2022-10-06
cppgamealgorithmdata-structureprogramming-language

校科协的加入有条件,面试前一步是笔试。免去笔试的方法也不是没有,可以做免试题。看了各个组的免试题,发现都好难好难,只有前端组的 2048 敢去尝试尝试。但我有没怎么学过 JS,便想着先用 C++ 实现一下逻辑,再把代码改过去。

C++ 中 cin 与 cout 的转进制输入输出

2022-09-29
cppprogramming-languageoctaldecimal

笔者的朋友有道输入八进制输出十进制的题目,他是使用数学方法实现的。笔者隐隐约约记得好像cin和cout有控制输入输出数字进制的方法,查找了一些资料,做一下笔记。

VS Code 的安装与配置基础 C/C++ 开发环境

2022-09-17
vscodecppwindowstoolconfiguration

我以前学习 C++ 的时候,使用的是 DevCpp 。这个软件让我这个初学者比较舒服的点是,我不用太过详细地考虑编译的过程——新建一个 cpp 文件,写一点小程序,按下 F11,程序运行。我不需要管选择编译器啊、配置编译命令啊啥啥的。但是到 VS Code 这边,这都要我自己做了,对于新手并不是那么友好。这里记录一下我配置 VS Code 的 C/C++ 环境的完整过程,希望对你有所帮助。需要注意的是:学习一下基本的编译链接指令还是很有必要的!