- 博客(11)
- 问答 (1)
- 收藏
- 关注
原创 auto类型推导常见问题
推导数组时,通常会变成指针,而不是数组本身。,导致值拷贝,而不是引用绑定。,导致可以修改本应不可变的值。形式返回值类型不明确,
2025-03-11 15:36:21
163
原创 模板类型推导
被推导为了真正的数组,这个类型包括了数组的大小,在这个例子中T被推导为const char[13],f的形参(该数组的引用)的类型则为const char (&)[13]rx的类型是一个引用,T也会被推导为一个非引用 ,这是因为rx的引用性在类型推导中会被忽略。数组类型的形参会视作指针形参,所以传值给模板的一个数组类型会被推导为一个指针类型。T的类型推导不仅取决于传入函数的实参类型,也取决于Param的类型。虽然函数不能声明形参为真正的数组,但是可以接受指向数组的引用。的类型为ParamType,就是。
2025-03-10 19:08:36
407
原创 C++4种强制类型转换运算符(static_cast、dynamic_cast、const_cast和reinterpret_cast)
转换后只能访问基类中定义的成员函数,派生类独有的方法是无法通过这种基类指针访问。如果派生类中的方法是虚函数(virtual),你可以通过基类指针或引用调用派生类的方法(即使是派生类独有的虚函数)。但是,基类指针或引用依然不能直接访问派生类独有的非虚成员函数。
2025-02-24 20:53:27
662
原创 std::move()
当一个对象传递给另一个对象时,通常会发生拷贝操作,特别是当涉及到动态内存时,拷贝是非常昂贵的。std::move 并不会实际移动数据,它只是将一个左值转换为右值引用,使得对象能够被“移动”。这意味着,原来的对象不再有对其资源的控制权,资源的所有权已经被转移。移动构造函数:会将原对象的资源转移给新对象,并将原对象的资源置为空(通常设置为nullptr,或者其他无效的状态),从而避免了不必要的复制。std::move(a) 并不会移动数据,它仅仅是将 a 转换为一个右值引用,指示编译器调用移动构造函数。
2024-11-16 19:04:00
465
原创 网络字节序
二进制表示:00000000 00000000 00000000 00000001。int 占四个字节,一个字节是8位,所以int占32位。十六进制表示:0x00000001。小端(Little Endian)低地址 高地址。低地址 高地址。大端(Big Endian)内存地址增加方向 →。内存地址增加方向 →。
2024-10-19 15:25:26
125
空空如也
使用Qimage的pixel遍历像素点提示越界
2022-05-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人