
C++
文章平均质量分 53
JasmineFeng
这个作者很懒,什么都没留下…
展开
-
常量const、引用、指针的大杂烩
C++中头疼的也重要的三个概念,当放到一起时,会有多少种组合?原创 2023-02-14 16:10:17 · 503 阅读 · 1 评论 -
模板如何分离式编译
模板中实现分离式编译要依赖显式实例化原创 2023-02-02 17:48:17 · 413 阅读 · 0 评论 -
意想不到的结果:Foo(m)可能是在定义名为m的对象
为什么不建议使用 using namespace std; 原因在这里原创 2023-01-24 13:41:11 · 749 阅读 · 0 评论 -
一张图讲明白重载、覆盖和隐藏的联系与区别!
学到类的继承这边会出现三个容易混淆的概念:重载(overload)、覆盖(override)和隐藏(hide),本文试图讲清其间的区别和联系。原创 2022-12-20 00:25:38 · 262 阅读 · 1 评论 -
C++类的关键字出现在类内外部的要求
C++类的关键字出现在类内外部的要求原创 2022-12-06 12:41:27 · 250 阅读 · 0 评论 -
const对象竟然可以修改其成员,只因顶层const
const对象竟然可以修改其成员,只因顶层const原创 2022-11-04 17:33:51 · 615 阅读 · 4 评论 -
拷贝初始化与赋值时的拷贝与移动操作
右值引用不会拷贝/赋值。在拷贝初始化或赋值时,调用拷贝构造函数/运算符还是移动构造函数/运算符都是允许的,实际调用拷贝的还是移动的,要看类是否定义了移动构造函数/运算符,若定义了,则调用移动的;否则调用拷贝的。原创 2022-10-19 22:00:48 · 354 阅读 · 0 评论 -
类中报错 xxx does not name a type可能因为类中修改了对象
类中报错 xxx does not name a type可能因为类中修改了对象原创 2022-09-09 15:55:34 · 3277 阅读 · 0 评论 -
使用指针管理vector无法push_back
使用指针管理vector无法push_back原创 2022-09-06 15:50:07 · 954 阅读 · 0 评论 -
C++编译报undefined reference错
我的main函数要调用下面这个头文件#ifndef SALES_DATA_EX41_H#define SALES_DATA_EX41_H#include <iostream>using namespace std;class Sales_data;// 在友元声明前声明三个非成员函数ostream &print(ostream &os, Sales_data &sale);class Sales_data{ friend ostream原创 2022-04-20 14:41:35 · 1940 阅读 · 0 评论 -
C++ 交换值、指针、引用的Swap函数汇总
不改变实参的交换交换值#include <iostream>using std::cout;using std::endl;void swapParamVal(int a, int b){ int tmp = a; a = b; b = tmp; cout << "形参 a b 分别为" << a << ' ' << b << endl;}int main(){ int x原创 2022-03-18 22:19:52 · 1009 阅读 · 0 评论 -
C++ 数组名不自动转化为首元素指针的情况
数组名是 decltype 关键字的参数int a[5] = {1,2,3,4,5};decltype(a) b = {2,4,5,6,7}; // b是有5个整型变量的数组数组名是&、sizeof 、typeid 运算符的运算对象// &int (*pa)[5] = &a;for (auto n : *a) cout << n << ' ';cout << endl;// sizeofcout << siz原创 2022-03-17 15:02:42 · 886 阅读 · 0 评论 -
正负数的位运算 原码补码搞不清楚
经过今天上午查阅多篇资料后总结出,所有的位运算,都是遵循以下三个步骤的:把数字转化为补码,目的是方便机器计算进行位运算把补码转化为原码,目的是方便人看。在这一步中,通常的做法是对补码再求一次补码,其原理就是补码的补码是原码。在求补码的时候,一定要注意:正数(符号位为0)的补码就是原码,正数原、反、补码一模一样!这个就造成了有的时候看起来好像跳过了第1步或第3步,但是也能算对,可能就是因为有正数参与运算,或者第2步得到一个符号位为0的结果。之前没有把这一点想明白,然后纠结了一个上午。。。原创 2022-03-15 12:54:35 · 434 阅读 · 0 评论 -
C++各种初始化
文章目录1 默认初始化 Default initialized示例2 列表初始化 List initialized列表初始化示例3 圆括号初始化常见示例4 拷贝初始化 Copy initialization 与 直接初始化 Direct initialization示例如果要用多个值进行初始化,推荐使用直接初始化5 值初始化 Value-initialized`vector` 对象的值初始化数组对象的值初始化局部静态变量的值初始化1 默认初始化 Default initialized内置类型变量在原创 2022-03-14 20:53:53 · 4420 阅读 · 0 评论