2013年10月12日
摘要: 经常打篮球,谈谈打篮球的心得。从程序员的角度,分析if(){做什么}else(){做什么}1、队友持球,我该怎么做? a、投篮准,跑出一个空位,示意队友把球传过来,然后投篮。 b、篮下有空档,空切篮下,接队友传球上篮。 c、为队友作掩护,队友进攻手段有:直接投篮,通过掩护摆脱防守队员上篮。当然这时候,我也可以掩护后跑开,队友把球传给我,我来进攻。2、自己持球,该怎么做? 运球时,不要低头,眼观球场上队友和对手的位置。一旦发现队友有好的机会,立即把球传过去。 主动寻找掩护,自己进攻。 注意:切记不能做这样的人:队友有好的机会,自己没有机会,还不肯传球,或者强行投篮。这种人很伤队友的心... 阅读全文
posted @ 2013-10-12 18:50 Andy Niu 阅读(340) 评论(0) 推荐(0)
摘要: 1、构造方法的作用是设置数据成员的初始值。2、定义一个类Person的实例person的时候,必定会调用Person的构造方法。调用构造方法分为两个步骤:第一步使用初始化列表,第二步在构造方法内部对成员赋值。3、对于初始化列表,肯定会执行。如果用户没有显式的调用,就会隐式的调用。然后才执行第二步,在构造方法内部赋值。4、对于初始化列表,对于隐式或者显式中没有初始化的成员,成员的取值取决于下面的情况: a、如果成员是类类型,使用默认构造方法。(注:对于这种情况,必须保证成员具有默认构造方法) b、如果是内置类型,分为下面两种情况: b1、person是全局变量,初始化为0 b2、... 阅读全文
posted @ 2013-10-12 16:57 Andy Niu 阅读(890) 评论(0) 推荐(0)
摘要: 1、反斜杠 a、转义字符 b、强制换行,当一行代码很长时,在这一行中间加上反斜杠,分成两行,反斜杠前后不能有空格。在预编译的的时候,会合成一行。2、String^ 表明String是一个托管类型的指针,不需要人工释放,GC会做这件事。3、调用方法的时候在方法前加上(void) 编码规范往往要求:方法的返回值必须被处理。如果没有被处理,静态检查工具,会给出警告。通过在调用方法时在前面加上(void),明确告诉静态检查工具,不是我忘了处理方法的返回值,而是确实不需要处理方法的返回值。这里其实包括了,a、方法没有返回值,b、我就是不想处理方法的返回值。 阅读全文
posted @ 2013-10-12 16:27 Andy Niu 阅读(441) 评论(0) 推荐(0)
摘要: Antlr与Regex都是文本分析工具。Antlr内部分为词法(Lexer)和语法(Parser),在Antlr中,变量第一个字符大写表示词法,变量第一个字符小写表示语法。词法表示哪些是有效的词,语法表示有效的词怎么样组合才是有效的,延伸一点就是语义,语义表示描述的内容是否正确,涉及到人工智能。Antlr明确表明了哪些是词法,哪些是语法。Regex好像把词法语法合在了一起,可以认为每一个小块是一个词法,这些小块的顺序组合是语法。 阅读全文
posted @ 2013-10-12 16:20 Andy Niu 阅读(393) 评论(0) 推荐(0)
摘要: 1、c_str() 是string的一个方法,返回指向const char的指针,该指针不能修改指向的内容。2、为什么要用c_str()?因为有些地方需要用char指针,比如以char指针作为形参的方法。3、为什么可以用文本常量的字符串赋值给char指针,却不能用字符串变量赋值给char指针?1 char * cp1 = "hello"; // OK2 3 string str = "hello";4 5 cp1 = str; // Error,无法从“std::string”转换为“char *”View Code 文本常量字符串赋值给char指针,做 阅读全文
posted @ 2013-10-12 16:00 Andy Niu 阅读(579) 评论(0) 推荐(0)