debruijn

Come across debruijn sequence when I trying to understand musl malloc, it surprised me! A great paper about debruijn on http://supertech.csail.mit.edu/papers/debruijn.pdf  

Published
Categorized as C

C++面试题集合

只熟悉C,对C++不甚了解啊,但是面试又基本只有C++和Java的。于是乎,整理一下自己遇到的C++面试/笔试题吧 ———————————————–我是背景——————————————————————— 题目一:一个C++空类建立以后,会产生哪些成员函数? 分析:当时我就只想到了构造和析构函数啊。答案是6个。 [cpp] class Empty { public: Empty(); // 缺省构造函数 Empty( const Empty&); // 拷贝构造函数 ~Empty(); // 析构函数 Empty& operator=( const Empty&); // 赋值运算符 Empty* operator&(); // 取址运算符 const Empty* operator&() const; // 取址运算符 const }; [/cpp] 但并不一定是6个,如果编译器发现我们只是申明了Empty,并没有发现创建Empty的实例,那么编译器是什么函数都不会生成的。 所有这些只有当被需要才会产生。比如, Empty e; 编译器就会根据上面的实例,给类Empty生成构造函数和析构函数。 当使用 Empty  e2(e); 编译器就会生成类Empty的拷贝构造函数。 Empty   e3; e3 = e; 编译器生成赋值运算符函数 Empty    &ee = e;… Continue reading C++面试题集合

C语言新手入门——从下载IDE开始

最近,高三的弟弟马上要去大学了。于是乎,打算教一教他C语言。 让我们从下载IDE( Integrated Develop Environment,即集成开发环境)开始。 Step Zero:买书 首先你需要的是一本完美的书,能够随时在你身边指引你的书。 《C程序设计语言》——if not you, then who? 本书原著即为C语言的设计者之一Dennis M.Ritchie和著名计算机科学家Brian W.Kernighan合著的一本介绍C语言的权威经典著作。我想,没有人比他更了解自己的设计。 摒弃你们的“谭浩强”吧~不是说谭先生不好,只是还不够。 Step One:下载最smart的IDE——CodeBlocks 1. 下载 地址:http://www.codeblocks.org/downloads/26 win7系统,选择这个版本就好了codeblocks-12.11mingw-setup.exe,可以从两个站点下载,一般是从这里Sourceforge这里下,如图 点击连接以后,会跳到Sourceforge网站,等几秒钟就开始自动下载。 2. 安装 点击Next,如上图。 点击I Agree, 如上图。 这一步是装运行所必须的各种软件,不用修改,默认点击Next就行。如上图。 这一步是选择安装路径,可以点击“Browse”然后在弹出的地方选择,或者直接在“Destination Folder”下面的输入框里填写。不建议安装在C盘,工具软件安装在其他盘比较好。比如我就是安装在E盘的Tools文件夹下。然后点击Install进行安装即可。如上图。 如果安装途中出现以下错误,请以管理员身份重新执行安装步骤。即右键“codeblocks-12.11mingw-setup.exe”安装文件,然后选择以管理员身份运行。 安装完成后,会问你是否现在运行Codeblocks,如下图。 可爱的Codeblocks就出来啦!!!! 3. 编写第一个程序之前的小配置 初次启动CodeBlocks的时候,会让你选择是否所有的 C和C++文件都以CodeBlocks打开,如图红色方框所示。点击它,然后点击OK。 现在我们需要新建一个项目,如下图所示。点击界面中间的”Create a new project” 在弹出的窗口里选择“Console application“,即控制台程序,如下图所示。 点击go,跳到下一个页面。选择使用的语言,这里选C。如下图所示。 点击Next以后进入下一个页面。 在”Project title“,即项目名称这里填写项目的名称,这里我们用填入”Test“举例。填好以后,下面的Project fileName以及Resulting fileName会自动帮你填好。 然后就是选择你代码所在的目录,即”Folder to create… Continue reading C语言新手入门——从下载IDE开始