
C/C++
文章平均质量分 70
guansir
Hand in hand!
展开
-
【C/C++】n个猴子站成一圈,每次从第p个数m个猴子并出列,然后继续数,直到只剩下最后一个,并输出其位置。
实现代码如下,主要思想循环n-1次,每次出列一个,剩下的即为需要输出的。 附源码:int GetLast(int n, int m, int p){ if (n <= 0 || m <= 0 || p <= 0) { return -1; } int *pNodeList = new int[n]; if (pNodeList == NULL)原创 2010-01-21 15:30:00 · 1452 阅读 · 0 评论 -
【C/C++】C++必须知道的基础问题
一、概述1、C++虽然是从C语言中发展的,但其中有许多要点,是C语言中所没有的,包括引用,内联函数等,在此做一个介绍。2、对于C/C++中的基础是必须要详细了解的,能够深刻理解其含义以及其来源,是一个人内功深刻的表现。如果一些基础的问题,都说不上来,又如何给人以信心呢。 二、常见的问题1、为什么要使用内联函数,其作用是什么?a:inline 关键字用来定义一个类的内联函数,原创 2010-03-16 20:11:00 · 594 阅读 · 0 评论 -
【翻译】如何做一个项目经理?
原文地址: http://www.joelonsoftware.com/items/2009/03/09.html以下为译文:有一个好的项目经理是开发真正伟大的软件的秘方之一。可能你的团队现在还没有好的项目经理,因为大多数团队都没有。Charles Simonyi,一个杰出的程序员,WYSIWYG文字处理的共同发明者,曾经通过微软股票赚了上十亿美金并到过太空,第一次尝试解决管理项目翻译 2011-12-19 17:30:58 · 1464 阅读 · 0 评论 -
【VC】使用SDK在界面上显示图标和图像
以在(10,10)处显示图标和图像为例,说明一下具体的实现。图标的实现比较简单,代码如下:HICON hIcon1 = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON_MID));DrawIcon(m_hdc, 10, 10, hIcon1);图像的实现稍微复杂些,代码如下:HDC hdcCompatible = CreateCompati原创 2011-12-09 10:20:41 · 974 阅读 · 0 评论 -
【嵌入式】ARM中的RO、RW和ZI DATA说明--in C++
一、说明在内存很受限的嵌入式系统中作开发时,经常会出现内存超标了,在这种情况下,就需要对ARM中RO,RW和ZI区段分别存放什么数据有深入的理解。一般来说一个ARM程序包含3部分:RO,RW和ZI区段。RO是程序中的指令和常量,RW是程序中的已初始化变量,ZI是程序中的未初始化的变量。由以上3点说明可以理解为:RO就是readonly,RW就是read/write,ZI就是ze原创 2011-11-08 16:56:45 · 1098 阅读 · 0 评论 -
【随笔】技术学习,需持之以恒
一、概况计算机技术总类繁多,有计算机语言(C、C++、Java...),数据库,数据结构,算法,体系结构,Web应用等,一个人要精通所有方面的知识,几乎是不可能的。虽然如此,但想要在技术上有所成就的人都希望多掌握一些知识。如果在技术学习上一味求快,囫囵吞枣的话,就会出现贪多嚼不烂,对各个方面都知道个大概,但又都深入不下去。久而久之,就会对技术学习失去信心。二、学习之道1、首原创 2011-11-07 14:13:19 · 646 阅读 · 0 评论 -
【算法】一些算法设计方法
一、口诀广列深归,分分贪动回二、含义广度优先一般使用队列实现,深度优先一般使用递归实现。分治法,分支定界法,贪婪算法,动态规划,回溯法分治法:一分为二贪婪算法:不断尝试动态规划:递归不重复回溯法:深度优先分支定界:广度优先三、分治法分而治之方法与软件设计的模块化方法非常相似。为了解决一个大的问题,可以:1)把它分成原创 2011-11-06 08:50:39 · 825 阅读 · 0 评论 -
【C/C++】如何进行技术面试
一、基础知识需要熟练掌握C/C++编程语言,然后熟知基本的数据结构和算法知识。1) 对于C,需要掌握一些编译原理和操作系统方面的知识,对于代码是如何编译和链接的,存放在内存的哪个段空间,系统调用的内核切换等要比较清楚。2) 对于C++,需要掌握虚表,对象模型以及面向对象设计方面的一些知识。3) 对于数据结构,要掌握基本的数据结构,包括其定义,相关操作以及基本的应用。主要有:堆栈原创 2011-11-04 17:54:34 · 927 阅读 · 0 评论 -
从《编程之美》说开去
一、概述这段时间,工作之余,断断续续的将《编程之美》这本书看完了,《编程之美》是微软研究院的人员编写的,分四个部分,主要是微软面试中的一些总结和生活工作中的一些趣味问题。对于软件研发人员来说,还是值得一看的,特别是正在准备面试的。这本书中每个问题的组织还是很科学的,先抛出问题,然后提供多种解决方法,并逐步给出最佳的解决方案,问题解决后还提出一些扩展问题,供人深入思考。对于其中的问题,在第一原创 2011-11-24 17:47:43 · 992 阅读 · 0 评论 -
【转】Dos重定向以及管道
转载自: http://hi.baidu.com/dolphinyy/blog/item/ad71f01bf292ebd7ad6e75bd.html这是我学习之中知道的一些关于重定向和管道的知识,并积累的资料,在这里和大家分享。如果说的有不足和错误的地方,请指出。毕竟是交流信息。我这里是从DOS和C语言方面看它,没有太多涉及LINUX中所说的。我想从以下几个方面叙述:一、转载 2011-11-18 11:04:03 · 14264 阅读 · 1 评论 -
【C/C++】C++虚析构函数的作用
1、作用 为了在实现多态的时候不造成内存泄露, 如果基类析构函数前不加vitual,派生类对象被销毁后,只会调用基类的析构函数,而不会去调用派生类的析构函数。 2、对于正常的函数,如果基类中声明为virtual,则派生类可以不用再写virtual // CPPTest.cpp : Defines the entry point for the console appl原创 2010-01-25 19:10:00 · 1008 阅读 · 1 评论 -
【C/C++】推荐的C++书籍以及阅读顺序
当读者有一定c/c++基础推荐的阅读顺序:level 1从>开始,短小精悍,可以对c++能进一步了解其特性以>作字典和课外读物,因为太厚不可能一口气看完level 2然后从>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻接着是>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好顺下来就是>和>,请熟读并牢记各条款当你读到这里,应该转载 2010-01-27 11:06:00 · 739 阅读 · 0 评论 -
【C/C++】总结常用的函数调用约定
一、函数调用的基本步骤 函数调用大致包括以下几个步骤。(1)参数入栈:将参数从右向左依次压入系统栈中。(2)返回地址入栈:将当前代码区调用指令的下一条指令地址压入栈中,供函数返回时继续执行。(3)代码区跳转:处理器从当前代码区跳转到被调用函数的入口处。(4)栈帧调整:具体包括:保存当前栈帧状态值,已备后面恢复本栈帧时使用(EBP入栈)。将当前栈帧切换到新栈帧(原创 2010-01-23 11:38:00 · 1608 阅读 · 2 评论 -
【C/C++】实现一个string类的构造函数、析构函数和赋值函数
这些是面试时经常会遇到的问题,这里统一实现之,重要的是注意copy构造函数以及赋值函数。 源代码如下: //headclass CExample {public: CExample(); CExample(const char*); virtual ~CExample(); CExample(const CExample&); CExampl原创 2010-01-22 18:33:00 · 1365 阅读 · 0 评论 -
【C/C++】C++中类访问权限控制
第一:private, public, protected 访问标号的访问范围,在没有继承的情况下:private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。但不能被该类的对象访问。public:可以被1.该类中的函数、2.子类的函原创 2010-01-22 18:21:00 · 4316 阅读 · 1 评论 -
【翻译】一些有趣的算法代码
作者:Keith Schwarz是斯坦福大学计算机科学硕士,目前担任斯坦福大学计算机科学系的讲师。Keith的主页:http://www.keithschwarz.com 上有其正在进行的项目描述,而本篇翻译的是其项目之一,主要是关于一些算法的实现和应用,目前已经有88个算法应用,而其的目标是要实现135个。文章来源:http://www.keithschwarz.com/interest翻译 2011-12-12 17:51:00 · 4837 阅读 · 0 评论