- 博客(35)
- 收藏
- 关注
原创 B 站下载教学视频
B站中的教学视频大都有许多分集,而且可能涉及到版权,过不了多久可能会失效,最好的办法就是先保存下来再说。这里介绍的you-get可以下载许多视频网站的视频,在此仅介绍B站的下法。虽然速度基本在120~140kB/s,但还是可以接受吧第一步:安装Python3,过程略......第二步:安装you-get,从cmd输入pip install you-get 即可第三版:从cmd输入命令you-get -l -o f:\codetutor\youxi https://www.bilib
2020-08-05 00:13:55
684
原创 深度优先算法
《挑战程序设计竞赛》中的一道题:给定整数 a 1 、a 2 、…、a n ,判断是否可以从中选出若干数,使它们的和恰好为 k。输入n=4a={1,2,4,7}k=13输出Yes (13 = 2 + 4 + 7)/*** * 深度优先算法(Depth-First-Search) * 从数组a中选出几个数, 使它们的和恰好为k * 本题中有n=4个数字, 选择其中的几个使它们的和为k=13 ***/#include <iostream>using n...
2020-07-15 00:34:33
268
原创 Visual Studio Code 配置C/C++环境(TDM-GCC)遇到的坑
安装扩展(extension)C/C++:又名 cpptools,提供Debug和Format功能 Code Runner:右键即可编译运行单文件,但无法Dubug第一个坑, 找不到gdb64.exe文件下载TDM-GCC5.1后默认的安装选项竟然不选gdb,这是什么鬼,安装说明文档中有这么一段话:You'll need GDB particularly if you want to use an IDE with debugging support.好吧,重新安装,选中这个选项.
2020-06-25 21:25:09
17181
2
原创 Sublime Text 3 配置python编译环境
0. 系统win7,环境python3.81,1. 然后,安装完Sublime Text 3 中文版,要运行python脚本还需一番设置,2. 选择 工具→编译系统→python,(不选择这一步,可能会报[Decode error - output not utf-8]错误)3. 先建一个文件,输入 print ('hello world')必须先保存,比如这里保存为test.py...
2020-03-25 22:44:47
417
原创 安装pygame失败,另辟蹊径,设置pip国内镜像,以及pycharm成功导入pygame模块的三种方法
用pip直接安装pygame失败,pip install pygamewindows 7下,直接在user目录中创建一个pip目录例如,我的是C:\Users\Administrator\pip ,新建一个文件名为 pip.ini,保存内容如下:[global]index-url = https://pypi.tuna.tsinghua.edu.cn/simple[in...
2020-03-25 18:22:25
4124
4
原创 用Python实现汉诺塔递归解法
看谭老师著名的C语言教材一直没有搞懂汉诺塔的递归原理,偶尔看到一本c++教材上讲解的比较详细,就用python写了一个解法,总共5行代码,还是挺简单的。写的时间比较久远了,等我找到那本书,再把书中的解析附上。def moveDisk(count, needle1, needle2, needle3): if count > 0: moveDisk(count-1, needle1...
2020-03-19 14:32:45
643
原创 hp ProBook 4441s 修复记
一开始笔记本间歇性的出现蓝屏,重启后黑屏,风扇狂响,无法进入BIOS,无法关机。只能拔电源,拆电池强制关机。不接电放一个小时,可以开机按ESC进入BIOS,进入win7系统时提示修复,修复后正常进win7,但故障越来越频繁,怀疑是散热问题,开后盖,卸风扇清灰,故障依旧,拆内存擦金手指,故障依旧。终于有一天修复后进不了系统,用U盘启动winPE备份C盘文档,准备重装系统。顺便用启动盘检查了一下内存...
2020-03-15 09:59:28
2084
原创 用python简单实现数字24点游戏的解法
此脚本实现一个算法,不带括号的四个数字运用加减乘除得数为24的解法运用了itertools中的排列方法permutation,'''此脚本实现一个算法,不带括号的四个数字运用加减乘除得数为24的解法运用了itertools中的排列方法permutation,'''import itertools numbers = [4, 3, 9 ,7]operator = ['+', ...
2020-03-11 23:52:32
1259
原创 静态成员变量和静态成员函数
静态成员变量是同一个类的所有实例共享的变量,它们是全局数据(可供程序所有部分使用)和成员数据(通常只供一个对象使用)的折中。可以将静态数据成员看成属于类而不是对象。通常,数据成员是每个对象一个,而静态数据成员是每个类一个。 //Static data member and static function#include using na
2009-06-18 19:30:00
698
原创 指向自由存储区中对象的指针数组
一般的数组,其成员都存储在堆栈中。然而通常堆栈内存有限,而自由存储区大得多。所以可以在自由存储区声明每个对象,然后仅将指向对象的指针存储到数组。这可极大的减少占用的堆栈内存量。看下列代码://An array of pointers to objects#include using namespace std;class Cat{ public:
2009-06-13 13:59:00
615
原创 数组原理
先来看看如何定义和初始化一个数组:int myArray[5];int i;for(i=0; i{ std::cout std::cin >> myArray[i];}myArray[5]有5个元素,它们分别为myArray[0]、myArray[1]、myArray[2]、myArray[3]、myArray[4]。注意:数组索引从0
2009-06-12 14:44:00
2136
原创 虚函数的原理
C++扩展了其多态性,允许将派生类对象赋给指向基类的指针。因此,可以这样编写代码:Mammal * pMammal = new Dog;上述代码在堆中创建一个新的Dog对象,并返回一个指向该对象的指针,然后将该指针赋给一个Mammal指针。之所以可以这样做是因为狗是一种哺乳动物。然后就可以用这个指针调用Mammal类的任何方法。 创建派生类对象(如Dog对象
2009-06-11 14:43:00
686
1
原创 虚函数的规则
对于执行为虚拟的函数,在任意派生类和基类中声明和定义它时,必须要有相同的名称和参数列表。而且,如果把基类的函数声明为const,就必须把派生类函数也声明为const。一般情况下,函数在派生类中的返回类型也必须与基类中的相同,但当基类中的返回类型是类类型的指针或引用时例外,在这种情况下,虚函数的派生类版本可以返回更特殊的类型的指针或引用。这种返回类型使用的技术术语是”协变性“。虚函数的定义
2009-06-10 13:15:00
388
原创 dev编译器使用心得
[Linker error] undefined reference to `ToughPack::showVolume() const编译时提示如上错误,而我命名已经将该函数刚刚注释掉了,那好吧,完全删除吧,还是不行。我晕呀,看来工程里已经有了该函数的注册信息,好在在”运行“菜单里终于发现了一个”完全重新编译Ctrl+F11“选项,运行后,很真管用。看来以后在包含数个文件的工程
2009-06-10 12:42:00
1010
原创 经典编译错误收集
class Carton : public Box提示一大堆几十个错误,看来是类出了问题,这其实是全角符号和半角符号的区别的问题,将:改为:即可。其他还有“与",{}与{}等。myBox.showVolume;提示: statement cannot resolve address of overloaded function
2009-06-10 11:37:00
13361
1
原创 简单继承(inheritance)的实现及访问限定
泛化/具体化层次结构建立了一种is-a关系。例如,人是一种灵长目动物,灵长目动物是哺乳动物,哺乳动物是动物。派生是一中表示is-a关系的方式,你从类Mammal派生出新类Dog。由于Dog类从Mammal类继承了运动功能,因此你不必显式说明狗能运动。在已有的类的基础上添加了新功能的类被称为从原来的类派生而来,原来的类被称为新类的基类。派生的语
2009-06-08 14:34:00
768
原创 类的一般概念
类对象的大小: 类对象在内存中的大小由类成员变量的大小总和决定。类方法只占用少量的内存,这些内存用于存储有关方法位置的信息(指针); 有些编译器在内存中将变量与某种边界对齐,因此两字节的变量实际占用的内存可能不止两字节。请查看编译器手册,看是否如此。客户是程序中创建和使用类对象的部分。可以将类的公用接口(类声明)视为与客户的合同。这
2009-06-07 11:33:00
429
原创 const指针
声明指针时,可以在类型前或后使用关键字const,也可在两个位置都使用。例如,下面都是合法的声明,但是含义大不同:const int * pOne; //指向整形常量的指针,它指向的值不能修改int * const pTwo; //指向整形的常量指针,它不能在指向别的变量,但指向(变量)的值可以修改。const int *const pThr
2009-05-30 15:22:00
481
转载 迷途指针
有关指针的争论备受瞩目。这是因为在程序中由于指针引发的错误可能是最难发现和最难解决的。在C++中导致难以发现和解决的错误的罪魁祸首是迷途(stray)指针。迷途指针也被称为失控(wild)指针或悬浮(dangling)指针,是将delete用于指针(从而释放它指向的内存),但没有将它设置为空时引发的。如果随后你在没有重新赋值的情况下使用该指针,后果将是不可预料的:程序崩溃算你走运。
2009-05-30 14:23:00
1153
原创 访问对象的数据成员
对于在栈(stack)中创建的对象,可以用句点运算符(.)来访问类的数据成员和函数。使用指针来访问对象的成员要复杂些。要访问自由存储区中的对象,必须先对指针解除引用,然后结合使用解除引用得到的值(指针指向的值)和句点运算符来访问对象的成员。例如:(*pRags).GetAge();C++为间接访问提供了一个简捷运算符:类成员访问运算符(->),也可称之为间接运
2009-05-29 19:09:00
1436
原创 一个分别在栈和自由存储区创建和删除对象的例子
//Create objects on the free store//using new and delete#include using namespace std;class SimpleCat{public: SimpleCat(); ~SimpleCat();private: int itsAge;};
2009-05-29 17:49:00
451
原创 布尔型(真和假)
可以将每个表达式的值视为真或假。如果表达式的值为0,则返回false,否则返回true。(这种约定是从C继承来的,编写低级软件(如操作系统和实时控制软件时)时经常会使用这种约定,这种用法可能成为检测掩码或变量的所有位是否为0的简便方式)在早期的C++版本中,真和假都用整数来表示;新的ANSI标准引入了bool类型。bool类型只有两个可能的取值:false或true。所有
2009-05-28 19:02:00
2681
原创 表达式和语句
在C++中语句控制程序的执行顺序、计算表达式的值或什么都不做(空语句)。所有的C++语句都以分号结尾。在C++中任何结果为一个值的东西都是表达式。表达式总是返回一个值。语句3+2;返回5,因此它是表达式。所有表达式都是语句。下列代码也是合格的表达式:3.2 //returns the value 3.2PI
2009-05-28 18:43:00
403
原创 堆与栈
一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全
2009-05-28 04:35:00
259
原创 指针的使用
在C++中使用关键字new来分配自由存储区中的内存。在new后面跟上要为其分配内存的对象的类型,让编译器知道需要多少内存。因此new int 在自由存储区中分配4字节内存。new的返回值是一个内存地址。而内存地址应存到指针中,因此应将new的返回值付给一个指针。要在自由存储区中创建一个int变量,可以这样做:int *pPointer;pPointer = new in
2009-05-28 00:15:00
442
原创 为什么使用指针
在实际编程中,既然使用变量就可以访问数据,为什么还用指针呢?使用指针来操纵自动变量的唯一原因是,为了说明指针的工作原理。指针真正的用途是被用于完成下列3种任务:管理自由存储区中的数据访问类的成员数据和函数按引用传递参数 在“函数的工作原理”中,提到了5个内存区域:全局名称空间自由存储区寄存器代码空间
2009-05-27 23:18:00
3172
原创 标识符
C++程序中的许多元素都有用来表示它们的名称(也称为标识符),可以命名的5种元素是:函数。函数是自包含的、可执行代码的命名块。变量。变量是内存中的指定区域,用于存储数据项。类型。类型是可以存储的数据种类。标签。标签提供了表示特定语句的方式。命名空间。命名空间是用一个集合名称标识一组命名项的方式。
2009-05-25 18:25:00
376
原创 解释性的程序和编译性的程序的执行过程
计算机只能执行包含机器指令(也称为机器代码)的程序,不能直接执行我们编写的程序。用高级语言编写的程序基本上有两种执行方式,在大多数情况下,一种语言会选择其中一种执行方式。例如,用BASIC语言编写的程序通常是解释性的,也就是说另一个称为解释器的程序会检查BASIC源代码,确定该程序要做什么,再让计算机完成这些动作。而C++是一种编译语言。在执行C++语言之前,必须用另一个程序(即编译器)把它转
2009-05-25 18:20:00
2073
原创 色阶的中间调调节原理之一
鉴于IE6不能正确阅览本文章(firefox和google浏览器可以),只好将本文拆分成三节。色阶的中间调调节原理之一 看这篇文章图片的属性知道是完成于2008年5月20日。记得钻研“色阶的中间调调节原理”以及制作这个教程,整整花了我两个礼拜的时间。兴致昂昂的要发到设计中国论坛的教程区,结果却是权限不够,PM管理员申请特批未果,于是成了压箱底的东东。今天拿出来发到这里
2008-10-06 20:55:00
1930
原创 色阶的中间调调节原理——兼论色阶和曲线的联系
如果用IE6.0浏览,本教程将显示不完全,请用Firefox或谷歌浏览器;或分六段阅读,从这里开始 看这篇文章图片的属性知道是完成于2008年5月20日。记得钻研“色阶的中间调调节原理”以及制作这个教程,整整花了我两个礼拜的时间。兴致昂昂的要发到设计中国论坛的教程区,结果却是权限不够,PM管理员申请特批未果,于是成了压箱底的东东。今天拿出来发到这里,虽然已经好久不碰PhotoSho
2008-10-06 19:46:00
2316
原创 photoshop名人堂
就我所知的Photoshop达人有国内:关文涛(懵懂斋),孙建华(原野),朱宝丽(桔子香水),汪端(老邮差),老马,赵鹏,李涛,雷波,袁鹏飞(翻译),游闵州(台湾)国外:Scott Kelby:The Photoshop Channels Book The Photoshop CS2 Book for Digital
2008-01-01 21:35:00
2976
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人