
基础不牢,地动山摇---语言特性
基础不牢,地动山摇
FRMMAR
这个作者很懒,什么都没留下…
展开
-
c和cpp三元运算符比较
c—结果为左值#include <stdio.h>int main(){ int a = 5; int b = 6; printf("before, a = %d, b = %d \n", a, b); a > b ? a : b; // (a > b ? a : b) = 10; // error: lvalue required as left operand of assignment printf("after, a =原创 2021-04-18 12:50:56 · 509 阅读 · 0 评论 -
c和cpp的const对比
先说结论:c语言的const不够const。cpp—够const#include <iostream>int main(){ const int a = 5; const int* pi = &a; std::cout << "a is: " << a << std::endl; std::cout << "pi is " << pi << std::endl; //原创 2021-04-09 21:40:09 · 117 阅读 · 0 评论 -
尽量不要用友元控制类成员的访问权限
由访问权限想到友元声明coding过程中遇到复杂框架下的类之间相互调用的情况,此时必定绕不开类成员的访问权限问题,典型的是一些自己写的继承自体系结构中已经有的类访问其他类的私有成员或者受保护成员的问题。此时,应阅读父类代码,理解父类对相似问题的处理方式。以下为经验之谈:核查原有父类对其他类成员的访问方式,尤其应注意是否有友元声明。若有友元声明,最好将自定义的子类也也声明相关友元关系,以防出错。重点理解:某类的友元类只归该类所有,友元关系不能传递,不能继承。所以,尽量不要用友元控制类成员的访问权原创 2021-04-09 21:18:50 · 143 阅读 · 0 评论