
void
函数指针声明易错因语法优先级:int(p)()是指针,intp()是函数;须按“先看变量名,再往外读”理解,参数含const等限定符须完全匹配,无捕获lambda可隐式转换,调用前需判空。
=default用于显式要求编译器生成特殊成员函数的默认实现,=delete用于彻底禁用函数;二者仅适用于构造、析构、拷贝/移动函数,需在类内声明且不可有函数体,组合使用可精准表达资源管理意图。
Go无法直接嵌入.NET进程,因其依赖独立运行时;但可通过导出C兼容接口(cgo+buildmode=c-shared)生成动态库,再由.NETP/Invoke调用,或采用进程间通信(如gRPC、HT...
std::optional适用于单个值可能缺失的场景,如查找或解析;std::variant适用于返回类型明确但互斥的多态场景,如JSON解析。二者解决不同抽象问题,不应随意嵌套或混用。
因为std::coroutine_handle不管理状态和唤醒逻辑,仅是轻量包装;需手动确保协程处于suspend状态、内存有效且无并发resume,否则易触发未定义行为。
UE5默认C++17,禁用std::unique_ptr管理UObject因GC冲突;C++20仅限非UCLASS模块;范围for需用const引用避免拷贝;蓝图函数参数须用TArray/TMap而非...
thread_local变量为每个线程提供独立副本,延迟初始化且线程安全,支持类类型构造/析构;区别于static(共享需加锁)、__thread(无构造/析构)和WindowsTLSAPI(手动管理...
std::function用于存储任何符合指定签名的可调用对象,如普通函数、lambda、成员函数指针或std::bind结果;需严格匹配参数与返回类型,捕获局部变量时须注意生命周期,空对象调用抛st...
C++函数不能直接导出为CAPI,因namemangling导致符号不一致,且C++特性(如类、模板、STL)破坏CABI稳定性;必须用opaquepointer、extern"C"...
std::is_scoped_enum用于精准识别enumclass/struct,C++23标准化,支持ifconstexpr分支、SFINAE约束及安全提取底层类型,不关心final、conste...