c++
编程鸭
这个作者很懒,什么都没留下…
展开
-
C语言32个关键字9种控制语句34种运算符整理
32个关键字,如下表所示:关键字 说明 auto 声明自动变量 short 声明短整型变量或函数 int 声明整型变量或函数 long 声明长整型变量或函数 float 声明浮点型变量或函数 double 声明双精度变量或函数 char 声明字符型变量或函数 struct 声明结构体变量或函数 ...转载 2019-04-13 14:07:39 · 2733 阅读 · 0 评论 -
简明Vim练级攻略
前言今天看到这篇文章,共鸣点非常多。它把Vim使用分为4个级别,目前我自己是熟练运用前面三级的命令,在培养习惯使用第四级。完全就是我这一年来坚持使用Vim的过程。所以不管怎么我要转载这篇文章。翻译自《Learn Vim Progressively》,原中文翻译出自《简明Vim练级攻略》。我进行了部分的排版工作,和文字删减以及所有图片本地化的工作。Vim的学习曲线相当的大,所以,如果你一开始看...原创 2019-05-25 11:06:09 · 217 阅读 · 0 评论 -
CString,string,char*之间的转换
这三种类型各有各的优点,比如CString比较灵活,是基于MFC常用的类型,安全性也最高,但可移植性最差。string是使用STL时必不可少的类型,所以是做工程时必须熟练掌握的;char*是从学习C语言开始就已经和我们形影不离的了,有许多API都是以char*作为参数输入的。所以熟练掌握三者之间的转换十分必要。以下我用简单的图示指出三者之间的关系,并以标号对应转换的方法。1 strin...原创 2019-05-25 11:03:32 · 21966 阅读 · 2 评论 -
一个编译器的实现3——用编译原理自动化制作文本解析器
关于编译器的概念、工作流程、算法和设计方案,可参考这里(http://www.cnblogs.com/bitzhuwei/archive/2013/06/05/CompilerDesignAndImp4Context-freeGrammar.html)。阅读本文须理解“上下文无关文法(Context-free Grammar)”是什么。本文以加减乘除表达式和一个3D坦克游戏模型为例,说明如何自...原创 2019-05-25 10:57:57 · 697 阅读 · 0 评论 -
用C表达面向对象语言的机制2——颠覆你对方法调用的看法!
用C表达面向对象语言的机制2——颠覆你对方法调用的看法!在上一篇《用C表达面向对象语言的机制——C#版》中,我们获知了如何用C表达面向对象语言的机制,证明了面向对象语言是对面向过程语言的封装。今天有幸看到《颠覆你对方法调用的看法!》,于是继续用C来模拟此文中的代码,看看“颠覆”的背后是什么。1. 目标本文展示用C的union来模拟C#的一些代码的写法。2. 用union代替Fiel...原创 2019-05-25 10:55:52 · 132 阅读 · 0 评论 -
用C表达面向对象语言的机制——C#版
阅读目录(Content)1. 目标 2. 封装字段和方法 1) 用struct代替class 2) 用New[ClassName]代替new 3. 实现继承 3) 用组合代替继承 4) 用函数指针代替virtual 4. 用Convert2Type代替as 5) 使用关键字as 6) 准备类型标识结构 7) 实现Convert2Type 5. 用链表...原创 2019-05-25 10:53:19 · 243 阅读 · 0 评论 -
c语言版贪吃蛇小游戏想学吗?
数据结构:双向链表1.程序未使用graphis.h中的 函数,所以采用先清屏,再打印的方式显示图形,大约每秒刷新一次;2.除蛇头元素外,其它元素的状态(行进方向)均重复前一元素;3.蛇的图形元素为笑脸,可在源码中更改symbol参数选用不同元素。游戏截图1游戏截图2/**********************************time:...原创 2019-05-09 13:58:19 · 156 阅读 · 0 评论 -
学完C语言,你可以去哪些应用领域工作?
C语言是目前世界上流行、使用非常广泛的高级程序设计语言。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。因为C语言具有高级语言的特点,又具有汇编语言的特点,所以可以作为工作系统设计语言,...转载 2019-05-06 11:48:56 · 5054 阅读 · 0 评论 -
30道C++经典面试题,上“战场”前一定要搞懂
delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/...转载 2019-04-22 17:27:54 · 184 阅读 · 0 评论 -
从四个属性的角度来理解C语言的指针
关于指针是什么,很多教材已经作出了定义,大多数都会定义为“存放变量内存地址的变量”。从这句话中除了让我知道这个定义有11个字以外,其他就没什么用了。所以要理解指针,不是光光说一下是变量的地址就万事大吉了,而是要从多个属性来解释指针,为此,这里有一个所谓的多维属性法来理解指针。另外,为了能把指针说清楚,关键不在于用苦涩的文字描述,而在于以示意图的形式描述清楚指针的概念。接下来就准备用...转载 2019-04-14 17:38:07 · 176 阅读 · 0 评论 -
对C++11中的`移动语义`与`右值引用`的介绍与讨论
本文主要介绍了C++11中的移动语义与右值引用, 并且对其中的一些坑做了深入的讨论. 在正式介绍这部分内容之前, 我们先介绍一下rule of three/five原则, 与copy-and-swap idiom最佳实践.本文参考了stackoverflow上的一些回答. 不能算是完全原创rule of three/fiverule of three是自从C++98标准问世以来...原创 2019-05-18 14:51:34 · 190 阅读 · 0 评论