03 2020 档案

intel lea指令中SIB模式的极限在哪里
摘要:一、问题的由来 在汇编代码中,经常可以看到lea这个指令,它的出现频率比它“应该出现”的频率高得多,因为很多时候,它甚至可以用来做简单的乘法运算。tsecer@harry: cat mult.cpp int foo(int x){ return x * 9;}tsecer@harry: gcc -O 阅读全文

posted @ 2020-03-30 20:29 tsecer 阅读(457) 评论(0) 推荐(0) 编辑

为什么在需要使用‘template as a disambiguator’
摘要:一、为什么用这个标题 标题中的Chinglish并不是为了装逼,而是为了更加原汁原味的表达这个问题的出现场景,这个说法来自gcc的提示:gcc-4.4.7\gcc\cp\parser.cstatic boolcp_parser_optional_template_keyword (cp_parser 阅读全文

posted @ 2020-03-27 20:34 tsecer 阅读(317) 评论(0) 推荐(0) 编辑

被忽略的class“特殊成员”—转换函数
摘要:一、operator的重载 这个关键字平时其实几乎不怎么使用,但是偏偏这个关键字和new/delete之类比较孤僻的关键字还经常一起出现,使整个情况看起来更加诡异。之前应该是在看C++ stl库中看到过在类成员中自定义转换函数的,就是希望让一个对象可以转换为bool类型(通常用在if之类的逻辑表达式 阅读全文

posted @ 2020-03-24 12:52 tsecer 阅读(414) 评论(0) 推荐(0) 编辑

C++风格cast的优先级
摘要:一、为什么注意到这个问题 之前在使用C风格的cast时候,一个比较烦的地方就是由于转换操作的优先级,导致转换出来的类型需要使用额外的一个括号抱起来,看起来非常臃肿。后来注意到在C++风格的转换符貌似优先级更高,虽然输入量有所增加,但是输入的时候比较流畅,因此看起来也更加流程。tsecer@harry 阅读全文

posted @ 2020-03-20 16:50 tsecer 阅读(502) 评论(0) 推荐(0) 编辑

printf当前正在处理的格式化符是什么
摘要:一、为什么遇到这个问题 大致来说,可能是对于日志模块,我们可能需要将用户提供字符串进行格式化之后打印。但是这个用户提供的字符串本身可能千奇百怪,如果其中包含了一些特殊的格式化符号,如果不加特殊处理,则可能会导致一些意外的问题。如果只是"%s"其实还好说,这个如果访问地址非法则直接当场吐核。更坑的是如 阅读全文

posted @ 2020-03-16 19:11 tsecer 阅读(392) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示