• 2024-05-17cpp 移动
    什么是移动c++中=的默认操作是拷贝每次操作内存的时候都会进行拷贝操作。移动操作相当于数据的转移,原来存放数据的地方没有这个值了。左值引用,右值引用intval{0};int&&rRef0{getTempValue()};//OK,引用临时对象int&&rRef1{val};//Error,不能引用左值int&&
  • 2024-03-11rvalue
    右值和右值引用refhttps://en.cppreference.com/w/cpp/language/referencehttps://www.cnblogs.com/KillerAery/p/12802771.html左值和右值左值:表达式结束之后仍然存在的持久对象;右值:表达式结束后就不存在的临时对象;右值引用的来源临时对象作为参数传值的一些问题考虑
  • 2023-09-28lvalue and rvalue
    lvalueandrvalue好用的工具写在前面如何记住排列组合?那如何区分这些东西呢?constint&int&constintconst&const……Whatisalvalueandwhatisanrvalue?AwsomevideofromChernoBacktoBasics:UnderstandingValueCategories-BenSaks-Cpp
  • 2023-06-01C++中分别使用左值形参和右值形参的拷贝构造和移动构造
    #include<iostream>classData{public:Data(){std::cout<<"EMPTY."<<std::endl;}Data(constData&d){std::cout<<"lvaluecopy."<<std::endl;}Data(constData&&d){std::cout
  • 2022-11-21<二>自己实现简单的string
    我们结合运算符重载知识实现string类在自己实现的String类中可以参考C++中string的方法例如构造,加法,大小比较,长度,[]等操作.当前的MyString类中,暂时不加入迭代器,我
  • 2022-08-17C++ beginner(2)- variable
    initializationintx{};//xisfilledwithzeroes,sox==0intx{123};intx(123);inta,b=123,c{},d{456},e(789);int*x,y,z;==int*x;inty;int