菜鸟笔记
提升您的技术认知

C++ 笔记 第34页

c++中如何将string赋值给char*

首先,我需要将一个字符串和一个整数相加,这得首先将整数转化为字符串,然后相加; 其次,要将这个相加后的string赋值给char*的变量,怎么做。 std::string stateVar= "x"+std::to_string(k); /...

赞(1)菜鸟菜鸟阅读(4874)

C++ inline关键字

C的延续 C++是一门承上启下的编程语言,没有写class他就是C语言,这也导致了很多编译器既支持C++也支持C。inline关键字其实更多地出现在C语言当中,因为很多短小的工作函数可以达到快速执行的效果。 将函数声明为inline实际上表...

赞(1)菜鸟菜鸟阅读(3421)去评论

如何理解const成员函数

在深入理解const成员函数之前,先来复习一下const关键字的基础用法。 1. const修饰某个非指针类型变量 const 修饰某个非指针类型变量,表示该变量只读。 const int a = 10; a = 20; // 错误,不可以...

赞(1)菜鸟菜鸟阅读(2419)

赋值运算符重载

0.对象赋值时发生了什么 C语言中允许把一个结构体赋值给另外一个相同类型的结构体,C++允许把一个对象赋值给另一个同类的对象。这是通过自动为类重载赋值运算符实现的。这种赋值运算符重载函数原型如下。 Class_name & Clas...

赞(1)菜鸟菜鸟阅读(3530)

拷贝构造函数总结

0. 什么是拷贝构造函数 拷贝构造函数用于将一个对象复制到一个新创建的对象中。也就是说,它用在初始化过程中,而不是常规的赋值操作中。类的拷贝构造函数的原型如下: Class_name(const Class_name&); 这个构造...

赞(1)菜鸟菜鸟阅读(3497)

C++深拷贝&浅拷贝

先上结论: 深拷贝:拷贝的是指针所指向的一整块内存,即将指针pSrc所指向的一整块内存,拷贝出来,然后赋值给指针pDst所指向的一个区域,核心代码是 char* pDst = new char[128]; memcpy(pDst, pSrc...

赞(1)菜鸟菜鸟阅读(5100)

C++中的浅复制与深复制

默认构造函数将作为参数传入的对象的每个成员变量复制到新对象的成员变量中,这被称为成员浅复制。这虽然对大多数成员变量可行,但对于指向自由存储区中对象的指针成员变量不可行。 成员浅复制只是将对象成员变量的值复制到另一个对象中,两个成员变量的指针...

赞(1)菜鸟菜鸟阅读(3592)

C++中的深拷贝与浅拷贝

深拷贝与浅拷贝 深浅拷贝是面试经典问题,也是常见的一个坑 浅拷贝:简单的赋值拷贝操作 深拷贝:在堆区重新申请空间,进行拷贝操作 示例: class Person { public: //无参(默认)构造函数 Person() { cout ...

赞(1)菜鸟菜鸟阅读(2132)

C++中struct与class的区别

很多初学者或者是想当然,或者是被网上的一些错误信息给误导,面试中问到class和struct区别时经常会说class可以继承而struct不可以继承,这是完全错误的。但在C#中,class与struct确实有这点区别(当然不止这一点)。其实...

赞(1)菜鸟菜鸟阅读(3629)

define和inline 的区别

define: 定义预编译时处理的宏;    只进行简单的字符替换,无类型检测 typedef:定义类型别名 用于处理复杂类型   例: typedef int A;   则:A ...

赞(1)菜鸟菜鸟阅读(2067)