与“不能用”相关的TAG标签
std::optional明确表示“有值或无值”,用std::nullopt标识无值,不可用nullptr或零值模拟;须用has_value()或bool转换判断,直接解引用未检查对象将导致UB。
this关键字有三大用途:一是构造函数链式调用,必须为首条语句且不可与base()共存;二是明确访问当前实例成员,提升可读性;三是定义扩展方法,标记第一个参数类型。
不能直接用longlong做大数乘法,因其最大值约1.810¹⁸,两个10位数相乘即可能溢出;上百位数字必须用字符串模拟竖式乘法,核心是正确处理进位、下标对齐(res[i+j+1])和前导零。
浮动元素的margin不生效?先确认是否触发了BFC直接给浮动元素设margin看似合理,但常发现上下间距“消失”或“塌陷”——根本原因是浮动元素脱离文档流,其margin与父容器或其他非浮动块之间不再按常规盒模型计算。尤其当父容器没清除浮动时,margin-top和margin-bottom往往视...
::before和::after必须设置content才生效,否则不可见;适用于添加装饰图标、纯CSS图形、清除浮动及自动引号等场景,且需注意定位上下文与display设置。
正确做法是让it接收erase的返回值:for(autoit=vec.begin();it!=vec.end();){if(should_remove(*it))it=vec.erase(it);else++it;},避免迭代器失效;或用erase-remove惯用法提升性能。
std::size最安全,C++17起支持栈上数组和容器,底层为sizeof(arr)/sizeof(arr[0])封装;函数参数中数组会退化为指针致其失效,需模板引用int(&)[N]推导长度。
多维数组不能用reflect.MakeSlice直接创建,因其仅支持一维切片;需分层构建:先用reflect.MakeSlice创建外层切片,再循环对每个元素调用reflect.MakeSlice初始化内层。
用&1判断奇偶性可行,因整数二进制补码表示下最低位为1即奇数、0即偶数;该方式比%2更高效且对负数安全,但仅适用于整型。
MAUICI/CD核心是分平台构建与签名:iOS/macOS需macOS+Xcode,Android推荐Linux/macOS,Windows需VS2022;流程分CI(编译测试)、CD(分平台打包签名)、Release(上架)三阶段,关键在环境、证书、版本统一和工具链配置。
