
隐式转换
函数指针声明易错因语法优先级:int(p)()是指针,intp()是函数;须按“先看变量名,再往外读”理解,参数含const等限定符须完全匹配,无捕获lambda可隐式转换,调用前需判空。
Go几乎不支持隐式类型转换,仅允许无类型常量赋值、接口实现赋值和方法调用隐式解引用三种特例;数值类型间运算必须显式转换,如int16(a)+b,字符串与数字、不同切片类型间均不支持隐式转换。
std::error_code比throw更轻量,适合高频预期错误;它是值类型、零开销、无RTTI/堆分配、支持多错误域和跨平台语义归一,需谨慎设计error_category边界。
Go数组是固定长度的连续内存块,长度属于类型签名,[3]int与[5]int类型不兼容;声明必须指定长度,...仅用于字面量推导;越界访问会panic。
std::is_scoped_enum用于精准识别enumclass/struct,C++23标准化,支持ifconstexpr分支、SFINAE约束及安全提取底层类型,不关心final、conste...
Python变量是动态绑定的标签而非盒子,核心数据类型有int、float、str、bool、NoneType和list六种;可用type()查看类型,用int()、str()等显式转换,需注意命名规...
需用reflect.TypeOf(函数名)获取函数类型,校验t.Kind()==reflect.Func后,通过t.NumIn()得参数个数,t.In(i)获取第i个参数类型(i从0开始)。
decltype原封不动提取表达式编译期类型,含引用、const等限定符;括号决定语义:decltype(x)得变量声明类型,decltype((x))得左值引用类型。
char8_t/char16_t/char32_t是C++20引入的独立字符类型,非typedef;宽度分别为8/16/32位,与unsignedchar等不兼容;仅表存储单元,无编码语义;u8&qu...
std::views::split配合std::string_view是最轻量的字符串分割方案,C++20原生支持、零拷贝、懒求值;需注意生命周期、空字段处理及输入范围必须可借用。