电话
400 9058 355
News
operator[]插入时会覆盖已存在的key;insert()默认不覆盖,返回插入结果;insert_or_assign()可安全实现“存在则更新、不存在则插入”。
手写链表Queue需同时维护head和tail指针:push在tail端O(1),pop在head端O(1);Node构造函数必须显式初始化next为nullptr;判空统一用head==nullptr;拷贝需深拷贝或禁用。
多态的底层实现是父类引用指向子类对象,JVM通过虚方法表在运行时动态绑定非private、非static、非final的实例方法;字段、静态方法等按引用类型静态绑定。
Java中if单分支要求条件为布尔表达式且用圆括号包裹,不支持隐式转换;多分支用elseif链实现,需注意互斥性、兜底else及变量初始化问题;三元运算符仅适用于值选择,不可用于副作用操作。
C++调用C函数报“undefinedreference”是因为C++编译器对函数名进行namemangling,而C编译器生成简单符号名,导致链接时符号不匹配;需用extern"C"声明告知C++编译器按C链接规范处理。
不能直接用==比较两个float或double,因为浮点数以二进制近似存储(如0.1+0.2≠0.3),导致精度误差;应使用std::abs(a-b)
C++中struct默认访问权限为public,class为private,继承时struct默认public继承、class默认private继承,二者仅此语法差异,语义上显式指定后完全等价。
condition_variable必须与std::mutex配合使用,且wait()必须传入std::unique_lock而非std::mutex或std::lock_guard,因其需原子地释放锁并挂起线程;notify_one()适用于单消费者场景,notify_all()用于多线程等待同一条件;务必用whil...
邮箱:8955556@qq.com
Q Q:8955556