c++

c++

Tag

当前位置:首页 > c++ >
  • 如何实现Web Assembly与JavaScript的交互?

    如何实现Web Assembly与JavaScript的交互?

    JavaScript与Wasm通过函数调用、共享内存和数据序列化实现高效交互:1.JS调用Wasm导出函数;2.Wasm调用JS导入函数;3.共享线性内存传递数据;4.手动处理字符串等复杂类型。

    查看更多 2026-06-20

  • std::source_location的用途是什么?

    std::source_location的用途是什么?

    std::source_location是C++20引入的轻量值类型,不能直接替代FILE和LINE宏,因其current()是函数调用、反映调用点而非定义点;正确用法是作为带默认值的函数参数(按值传递),由编译器在每次调用时自动注入实际位置信息。

    查看更多 2026-06-19

  • C++中仿函数(重载括号运算符的对象)是什么?

    C++中仿函数(重载括号运算符的对象)是什么?

    仿函数是重载operator()的类对象,能像函数调用且携带状态和类型信息;普通函数无法保存上下文,而仿函数可维持成员变量实现累加、过滤等逻辑,支持STL算法并优于函数指针与lambda的复用性、内联性及类型明确性。

    查看更多 2026-06-19

  • std::string_view的优势是什么?

    std::string_view的优势是什么?

    std::string_view比conststd::string&更轻量,因其仅存储指针和长度、零分配零拷贝、大小固定为16字节,且substr等操作为O(1),但需严格管理生命周期并避免用于需修改、长期持有或空终止的场景。

    查看更多 2026-06-19

  • C++ STL中vector的扩容机制是怎样的?

    C++ STL中vector的扩容机制是怎样的?

    vector::push_back扩容时新容量不强制倍增,主流实现采用1.5倍(GCC13+)或2倍(libc++、MSVC),避免固定增量导致摊还复杂度退化为O(n)。

    查看更多 2026-06-19

  • C++中构造函数初始化列表效率更高,为何?

    C++中构造函数初始化列表效率更高,为何?

    初始化列表是C++构造对象的核心机制,它直接调用成员/基类构造函数,避免默认构造与赋值开销;const和引用成员必须在此初始化;初始化顺序严格按声明顺序,而非列表顺序。

    查看更多 2026-06-19

  • 如何入门使用C++的Folly库?

    如何入门使用C++的Folly库?

    Folly是Facebook开源的高性能C++基础设施库,专注解决大规模服务中的内存管理、异步I/O等痛点,依赖C++17+、Linux优先,需源码编译并链接多项系统依赖。

    查看更多 2026-06-19

  • CRTP在C++中如何实现静态多态?

    CRTP在C++中如何实现静态多态?

    CRTP能实现静态多态,因其基类为模板且参数为派生类自身,使基类可通过static_cast(this)在编译期安全调用派生类接口,无虚函数开销。

    查看更多 2026-06-18

  • C语言中如何使用try-catch机制来处理异常?

    C语言中如何使用try-catch机制来处理异常?

    try-catch基本写法是用try包裹可能抛异常代码,catch按顺序精确匹配异常类型(支持派生类基类隐式转换),推荐使用const引用避免切片和拷贝;无匹配时栈展开,最终调用std::terminate终止程序。

    查看更多 2026-06-18

  • Python支持方法重载吗?

    Python支持方法重载吗?

    Python不支持传统函数重载,因是动态类型语言,参数无类型声明且后定义函数会覆盖同名函数;可通过默认参数、args/*kwargs、isinstance判断或functools.singledispatch模拟,后者最接近重载但仅支持单参数类型分发。

    查看更多 2026-05-30

提交需求或反馈

Demand feedback