【C++】 笔记
文章平均质量分 57
关于 C++ 的一些笔记
Teddy van Jerry
I will come forth as gold!
展开
-
【笔记】 C++ 枚举类型(enum)
枚举(enumeration)C++ Primer (5th Edition, English Version) Page 832Enumerations are literal types.Two kinds of enumerations: scoped and unscoped (the former one inroduced in C++/11).Scoped enumerationsExample:enum class open_modes {input, output, appen原创 2021-01-21 00:00:25 · 142 阅读 · 0 评论 -
【笔记】 C++中 数组长度的获得
背景我个人的感觉 C++ 中使用数组是一件很累的事情。有vector了之后我在复杂一点的情况下基本不用数组了。示例这里是返回其平均值和方差的算法:#include <iostream>#include <iterator>using namespace std;template<typename T>int length(const T& Arr){ return end(Arr) - begin(Arr);}template<t原创 2020-12-25 19:51:26 · 338 阅读 · 0 评论 -
【笔记】 C++ 控制台界面排版有关的用法
在控制台界面,我们可能也要做一个较为赏心悦目的界面出来,这时可能就要用到一下几种方法。\t在不超过8个空格的宽度情况下可以自动对齐。iomanip 标准库dec/hex/oct/setbase(n)分别控制 十进制/十六进制/八进制/n进制。setw(n)放在输出流要控制输出变量的左侧,输出的最右侧靠着第n个位置对齐,如果长度大于n,则无效。setprecision(n)设置n位有效数字,如果加上iso::fixed,就可以定义为n位小数。另见博客 C++ 标准库之iomanip。制表原创 2020-11-26 21:11:09 · 505 阅读 · 0 评论 -
【笔记】 C++ 模板(template)
ALL RIGHTS RESERVED © 2020 Teddy van Jerry欢迎转载,转载请注明出处。See alsoTeddy van Jerry 的导航页原创 2020-11-25 14:52:54 · 162 阅读 · 0 评论 -
【笔记】 C++ 动态数组(Dynamic array)
ALL RIGHTS RESERVED © 2020 Teddy van Jerry欢迎转载,转载请注明出处。See alsoTeddy van Jerry 的导航页原创 2020-11-25 14:42:12 · 1804 阅读 · 0 评论 -
【笔记】 C++ 导入 Excel 表格
表格内容如图所示:直接按照之前方法,选择打开 xlsx/xls 文件会出现乱码:Way I 使用 txt 格式在 Excel 中另存为 txt 文件。#include <iostream>#include <fstream>#include <vector>#include <string>#include <conio.h>using namespace std;int main(int argc, int** arg原创 2020-11-21 12:07:16 · 5232 阅读 · 4 评论 -
【笔记】 The Stanford C++ Library
背景学习编写程序不止是码代码,更多的是在程序的思路方面,所以有这样的 The Stanford C++ Library 可以节省很多工作量。我在 Bilibili 上看斯坦福大学的 CS106B 公开课,其中就提到了这个库。下载可以在大学网站上下载:链接:https://web.stanford.edu/dept/cs_edu/cppdoc/但是好像这上面提供的直接下载 zip 文件无法打开,于是采用 Github 途径。链接:https://github.com/zelenski/stan原创 2020-11-20 14:26:23 · 2104 阅读 · 2 评论 -
【笔记】 在 Visual C++ 中设置网页链接
背景在编写程序 TVJ Matrix Laboratory 的时候,发现若要插入 Help,最简单的方法就是采用网页链接的形式。(使用的就是空文件而非API或者MFC)示例头文件: Windows.h在 【C++ 程序】 TVJ Matrix Laboratory (v 1.1) Source.cpp 中第55行有: ShellExecute(NULL, L"open", L"explorer.exe", L"https://blog.csdn.net/weixin_50012998/arti原创 2020-11-18 13:28:28 · 403 阅读 · 0 评论 -
【笔记】 在 Visual C++ 中设置 MessageBox
背景在编写程序 TVJ Matrix Laboratory 的时候,发现有时需要用到 MessageBox,然后总结了简单的方法。(使用的就是空文件而非API或者MFC)基础内容头文件: Windows.hMessageBox的四个参数相关内容可以参阅博客 c++中的消息框messagebox()详细介绍及使用方法。string 前缀L是字符集需要,_T()这种写法试过是无法编译的。示例在 【C++ 程序】 TVJ Matrix Laboratory (v 1.1) Source.cpp原创 2020-11-18 13:06:55 · 524 阅读 · 0 评论 -
【笔记】 在 Visual C++ 中设置 exe 文件的版本信息
背景一个程序在属性中查看时会发现有许多信息,而自己编写的 exe 文件却没有,而且也不能像 Word 一样在属性里直接修改。方法Step 1资源文件 -> 添加 -> 资源Step 2选择 Version(版本),然后 New 新建。Step 3然后填写信息即可。效果ALL RIGHTS RESERVED © 2020 Teddy van Jerry欢迎转载,转载请注明出处。See alsoTeddy van Jerry 的导航页...原创 2020-11-15 15:58:02 · 1076 阅读 · 0 评论 -
【笔记】 在 Visual C++ 中设置 exe 文件的图标
背景在编写程序 TVJ Matrix Laboratory 的时候,发现需要一个好看的图标,于是就开始寻找。(使用的就是空文件而非API或者MFC)素材方法Step 1绘制好看的图片。Step 2找软件后者线上转换转换为ICON(.ico)文件。Step 3资源文件 -> 添加 -> 资源Step 4选择 New 新建,选择 Import 添加已有ICON文件。(奇怪的是不管这两种方案进来了之后都无法编辑)Step 5奇怪的是不管这两种方案进来了之后都无法编辑原创 2020-11-15 15:51:24 · 1502 阅读 · 0 评论 -
【笔记】 C++ bug大全
写程序老是调bug调半天,是时候总结一下了!总体分析对于程序总体逻辑没有很好的把握使用了自己一知半解的内容对细节没有把握好具体内容逻辑方面变量方面运算方面书写方面其他方面指导建议培养逻辑感多学多用,注重细节使用好F10和F11的调试功能(持续更新中)ALL RIGHTS RESERVED © 2020 Teddy van Jerry欢迎转载,转载请注明出处。See alsoTeddy van Jerry 的导航页...原创 2020-11-06 15:13:44 · 903 阅读 · 0 评论 -
【笔记】 C++中 随机数各方式总结
随机数是经常要用到的,但是如果没有弄清楚怎样生成自己想要的状态,便经常造成麻烦,比如成为一个大程序中的难以被发现的潜在bug。下面用多种方法生成-10~20的随机数。(标注(C++/11)表示至少要达到C++/11标准,在VS中至少是2012版)Way I(C++/11)#include <iostream>#include <random>using namespace std;int main(){ int ran[10]; uniform_int_dis原创 2020-11-01 09:44:10 · 430 阅读 · 0 评论 -
【笔记】 C++中 方向键的输入
方向键输入运用库conio.h,主体部分为: c1 = _getch(); // new version of getch() c2 = _getch(); switch (c2) { case 72: // up // do something break; case 80: // down // do something break; case 75: // left // do something break; case 77: // right // do原创 2020-10-02 07:29:11 · 5191 阅读 · 0 评论 -
【笔记】 C++中的进制
名称形式二进制(binary)0b+内容八进制(octal)0+内容十进制(decimal)内容十六进制(hexadecimal)0x+内容 / 0X+内容下面是试验程序:#include <iostream>using namespace std;int main(){ int a = 20; int b = 024; int c = 0x14; int d = 0X14; int e = 0b10100; int f ...原创 2020-08-22 16:17:27 · 487 阅读 · 0 评论 -
【笔记】 C++中 Separate Compilation(分离式编译)的思路 (包括函数命令行参数的试验)
我之前的习惯是将定义的函数全部放在头文件中。但是在 C++ Primer 6.1 的提醒中了解到这样是存在安全隐患的。但是书(English Version Page 207) 中却非常 confusing,尤其是.cc后缀压根就没能找到。搜索后知道,其实对于 Windows,更常用 .cpp。对于链似乎也不想以为的那么困难。只要共同 include 头文件即可。下面是 Exercise 6.9 的题目。Header Files:Chapter6.h#ifndef CHAPTER_6#d原创 2020-08-29 18:04:59 · 629 阅读 · 0 评论 -
【笔记】 C++中 Prefix/Suffix of a Literal
C++ Primer(English Version)Page40 Table 2.2 是需要记忆一下的。(有些记不住,就记了下笔记)Character and Character String LiteralsPrefixMeaning / TypeuUnicode 16 character / char16_tUUnicode 32 character / char32_tLwide character / wchar_tu8utf-8 (string原创 2020-08-24 18:47:26 · 587 阅读 · 0 评论 -
【笔记】 C++中 Multidimentional Arrays 的 initialization(初始值)
对于 Multidimentional Arrays 的 initialization 比较多样,我认为最简单的方法即为记住以下几种特殊情况,再由特殊到一般,做到“举一隅而以三反隅”。原创 2020-08-24 15:01:20 · 169 阅读 · 0 评论 -
【笔记】 C++中 strcpy_s 和 strcat_s(C++ Primer Exercise 3.40)
在运行 C++ Primer Exercise 3.40(使用C-Style Strings)会遇到报错。1>E:\C++ Program\Exercise 3.40 - Alternative 1\3.40 - Alternative 1.cpp(11,2): error C4996: ‘strcat’: This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation原创 2020-08-23 14:28:10 · 247 阅读 · 0 评论 -
【笔记】 C++中 Class Scope 有关的知识点
1. 名字查找顺序由内而外,自上而下。2.类的定义处理步骤首先编译 member 的声明,直到类全部可见时再编译 member function。原创 2020-09-27 09:39:32 · 315 阅读 · 0 评论