m=*a是指 给m赋值 a指针所指向的值 指针a再加一个*是指这个指针所指向的值
1 因为编译器会忽略没有意义的空格,也就是下面三句话意义一样。int* i;int *i2;int * ...
当然这个技巧只对和常量比较的情况有用。3、*p++ 自增p 还是p 所指向的变量?后缀++ 和-- 操作符本质上比前缀一目操作的优先级高,即++与p结合优先级高于*与p的结合优先级, 因此*p++ 和*(p++) 等价, 它自增p 并返回p 自增之前所指向的值(也即先去内容,然后指针p才自加)。要自增p 指向的值, 使...
给父类和子类都添加一个隐形的成员:函数地址列表。这个列表就是类的成员变量,父类型的指针是可以访问成员变量的,所以可以访问函数地址列表,通过这个列表,就访问到了子类里的函数了。我们在写代码的时候,只用将成员函数前面加上viture 字样,编译器就会自动把这个成员函数的地址放在列表里,然后把这个列表作为本类的成员...
这工具擅长发现一些常见的逻辑Bug,比如 空指针解引用 、 数组越界 之类的。优点:Cppcheck不用依赖特定的编译器,配置起来也很简单。缺点:它对现代C++的支持稍微逊色一点,不像Clang-Tidy那么紧跟潮流。PVS-Studio:企业级大佬如果说前面两个工具有点像“义务帮工”,那 PVS-Studio 就是收费的高级工程师。它的功能强大...