摘要:
1. extern在函数声明中是什么意思?它可以用作一种格式上的提示表明函数的定义可能在另一个源文件中,但在extern int f(); 和 int f(); 之间并没有实质的区别。补充:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。也就是说extern有两个作用:第 一,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而 阅读全文
摘要:
在一些Linux内核和其它的开源代码中,我们经常看到像下面这样的代码: do{ ... }while(0)该代码片段并非循环,这样想想似乎使用do…while没有任何意义,那么为什么还要使用它呢?实际上,do{...}while(0)的用途并不仅仅是优化你的代码。经过一系列的调研和探索,我们总结出它的一些用途如下。1. 帮助定义复杂的宏以避免错误详细解释请看“do {...} while (0) 在宏定义中的作用 ”,讲述了如何利用do {...} while (0) 解决常犯的宏定义错误,让大家不再惧怕宏。2. 避免使用goto控制程序流在一些函数中,我们在return语句之... 阅读全文
摘要:
如果你是一名C程序员,你肯定很熟悉宏,它们非常强大,如果正确使用可以让你的工作事半功倍。然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间。在很多的C程序中,你可能会看到许多看起来不是那么直接的较特殊的宏定义。下面就是一个例子:#define __set_task_state(tsk, state_value) \ do { (tsk)->state = (state_value); } while (0)在Linux内核和其它一些著名的C库中有许多使用do{...}while(0)的宏定义。这种宏的用途是什么?有什么好处?Google的Robert ... 阅读全文
摘要:
作者:Hawstein 出处:http://hawstein.com/posts/google-java-style.html 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处。目录前言源文件基础源文件结构格式命名约定编程实践Javadoc后记前言这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则,我们才认为它符合Google的Java编程风格。与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题,同时也讨论一些约定及编... 阅读全文
摘要:
1、集群部署介绍1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统HDFS(Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提... 阅读全文
摘要:
在这个信息大爆炸的时代,相信每个人每天都接收很多信息,有用的无用的一大堆。信息和知识不能混为一谈,有用的信息才能转化为知识,有些知识可能会影响你的一生,因此如何保存和管理知识,是个人知识管理的一个非常重要而不可懈怠的问题。擅用各类知识管理工具,可以让一个人管理知识达到事半功倍的效果,相信每个人每天... 阅读全文
摘要:
这个列表收集了C++ 语言的一些晦涩(Obscure)特性,是我经年累月研究这门语言的各个方面收集起来的。C++非常庞大,我总是能学到一些新知识。即使你对C++已了如指掌,也希望你能从列表中学到一些东西。下面列举的特性,根据晦涩程度由浅入深进行排序。1. 方括号的真正含义2. 最烦人的解析3.替代运算标记符4. 重定义关键字5. Placement new6.在声明变量的同时进行分支7.成员函数的引用修饰符8.图灵完备的模板元编程9.指向成员的指针操作符10. 静态实例方法11.重载++和–12.操作符重载和检查顺序13.函数作为模板参数14.模板的参数也是模板15.try块作为函数方括号的真 阅读全文
摘要:
以前一直用VS 2012来调试C/C++代码,F5、F10、F11用起来甚是顺手,前面也写过一篇关于VS最好用的快捷键:Visual Studio最好用的快捷键(你最喜欢哪个), 所以对于调试C/C++代码我一直钟情于VS。可最近下载了一个linux环境下用C++编写的开源库,准备进行一番研究,由于我对gdb调试只处在初步 阶段,还没有对整个项目用gdb调试过,而且gdb调试看起来也不方便,还是VS看的直观。为了省懒和省时间就将代码弄到VS中进行编译调试,结果发现编 译不成功,因为里面出现了很多类似int block[2*n];这样的变长数组。大家知道传统C语言和C++是不支持变长数组功能的, 阅读全文
摘要:
1. Hardwood Species原题描述Time Limit: 10000MSMemory Limit: 65536KTotal Submissions: 14326Accepted: 5814DescriptionHardwoods are the botanical group of trees that have broad leaves, produce a fruit or nut, and generally go dormant in the winter.America's temperate climates produce forests with hundr 阅读全文
该文被密码保护。 阅读全文