随笔分类 -  C++

摘要:3.1 vector 3.1.1 基本函数实现 1.构造函数 vector():创建一个空vector vector(int nSize):创建一个vector,元素个数为nSize vector(int nSize,const t& t):创建一个vector,元素个数为nSize,且值均为t v 阅读全文
posted @ 2024-08-14 16:38 ImreW 阅读(90) 评论(0) 推荐(0)
摘要:1 什么是STL? STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。该库包含了诸多在计算机科学 阅读全文
posted @ 2024-08-14 16:36 ImreW 阅读(771) 评论(0) 推荐(0)
摘要:一、string类型转换int类型 ... std::string str; int i = std::stoi(str); ... 同样, 可以使用 stol(long), stof(float), stod(double) 等. 二、int类型转换string类型 int a = 520; fl 阅读全文
posted @ 2024-07-27 11:41 ImreW 阅读(18) 评论(0) 推荐(0)
摘要:原文链接:https://www.cnblogs.com/tengzijian/p/17964231 本文尝试回答: 现代 C++ 有哪几种初始化形式?分别能够用于什么场景?有什么限制? MyClass obj(); 为什么没有调用默认无参构造函数创建一个对象? new int 和 new int( 阅读全文
posted @ 2024-07-25 17:48 ImreW 阅读(41) 评论(0) 推荐(0)
摘要:编程时常常需要把表达式的值赋给变量,这就要求声明变量时清楚的知道表达式的类型。然而有些情况是声明的变量的类型我们并不知道,比如在模板编程时。为了解决这个问题,C++11引入了auto类型说明符,用它来让编译器替我们去分析表达式所属的类型。 一、auto发展历程 在早期C/C++中auto的含义是:使 阅读全文
posted @ 2024-04-09 17:45 ImreW 阅读(114) 评论(0) 推荐(0)
摘要:1. 引用 boost官方文档中有如下结论: https://www.boost.org/doc/libs/1_57_0/libs/smart_ptr/shared_ptr.htm#ThreadSafety 1)同一个shared_ptr被多个线程“读”是安全的; 2)同一个shared_ptr被多 阅读全文
posted @ 2023-09-20 10:24 ImreW 阅读(687) 评论(0) 推荐(0)
摘要:1 什么是STL? STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。该库包含了诸多在计算机科学 阅读全文
posted @ 2023-09-15 12:01 ImreW 阅读(97) 评论(0) 推荐(0)
摘要:(一)全局变量 全局变量、文件域中的静态变量、类中的成员静态变量在main函数执行前初始化; 局部变量中的静态变量在第一次调用时初始化。 C++保证,全局变量在main函数第一次使用它之前,就把它初始化好。(可以直接理解成在main函数执行前就初始化好)但这个初始化可细分为:编译时初始化和运行时初始 阅读全文
posted @ 2023-05-16 17:45 ImreW 阅读(1121) 评论(0) 推荐(0)
摘要:我们首先从一个问题来阐明类的底层机理: 假如有一个类A,里面有一个成员函数get(),例如: class A { public: void get(); } A a; 那么a.get()表示什么呢?首先给出答案是get(&a),因为在类的底层机制中,成员函数的第一个参数都是一个指向该类数据结构的指针 阅读全文
posted @ 2023-04-17 15:50 ImreW 阅读(24) 评论(0) 推荐(0)
摘要:(一)多重含义 C++中的 * 和 & 有多重含义,在不同的使用条件下有不同的意思: 1.* int *p = &a; /1.指针 a = a * b; /2.乘法 *p = 100; /3.指向 2.& int c = a&b; /1.位运算 转换为二进制 int *p = &a; /2.取地址 阅读全文
posted @ 2023-04-03 22:04 ImreW 阅读(55) 评论(0) 推荐(0)
摘要:一、多态的概念 面向对象的三大特性:封装、继承、多态。多态即多种形态,具体的来说就是,针对同一种行为,不同的对象执行其会产生不同的结果。而之所以“不同的对象”会执行同一种行为,是因为这些对象具有继承关系。 多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如 Student 继承了 阅读全文
posted @ 2023-03-14 16:56 ImreW 阅读(78) 评论(0) 推荐(0)
摘要:C++中经常使用的作用符::,作用如下: (一)作用域限定符。 在类体内申明函数,并在类体外定义函数时,必须在定义函数时加上类名和作用域限定符。 class MyClass{ public: int num; int fun();//类体内申明函数 }; //类体外定义函数 int MyClass: 阅读全文
posted @ 2023-02-26 14:21 ImreW 阅读(262) 评论(0) 推荐(0)
摘要:Qt的事件模型一个强大的功能是一个QObject对象能够监视发送其他QObject对象的事件,在事件到达之前对其进行处理。 (一)介绍 假设我们有一个CustomerInfoDialog控件,由一些QLineEdit控件组成。我们希望使用Space键得到下一个QLineEdit的输入焦点。一个最直接 阅读全文
posted @ 2023-02-22 12:44 ImreW 阅读(294) 评论(0) 推荐(0)
摘要:(一)解决方案 1.方案 在 student.h 中 #ifndef STUDENT_H #define STUDENT_H #include <QObject> class Student : public QObject { Q_OBJECT public: explicit Student(Q 阅读全文
posted @ 2023-02-21 21:54 ImreW 阅读(53) 评论(0) 推荐(0)
摘要:(一)整个窗体 targetForm->setWindowOpacity() ; 函数即可实现,效果为窗体及窗体内所有控件都透明化了 (二)自定义页面或控件 当设置一个QWidget(一般自定义页面或控件时用QWidget)时,直接设置其窗体透明度无法实现透明效果,目前找到的方法是将整个QWidge 阅读全文
posted @ 2023-02-21 21:30 ImreW 阅读(993) 评论(0) 推荐(0)
摘要:一、const的基本概念 const名叫常量限定符,用来限定特定变量,以通知编译器该变量是不可修改的。习惯性的使用const,可以避免在函数中对某些不应修改的变量造成可能的改动。 二、const修饰基本数据类型 (一)const修饰一般常量及数组 int const a = 100; const i 阅读全文
posted @ 2023-02-21 15:36 ImreW 阅读(194) 评论(0) 推荐(0)
摘要:策略模式github 阅读全文
posted @ 2023-02-20 21:01 ImreW 阅读(17) 评论(0) 推荐(0)
摘要:原文链接:C++ 智能指针 一、使用智能指针原因 智能指针就是帮C++程序员管理动态分配的内存的,它会帮助我们自动释放new出来的内存,从而避免内存泄漏! 如下例子就是内存泄露的例子: #include <iostream> #include <string> #include <memory> u 阅读全文
posted @ 2023-02-20 19:53 ImreW 阅读(50) 评论(0) 推荐(0)
摘要:一、程序的内存分配 (〇)存储器 RAM: 随机存取存储器(random access memory)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。 它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。存储单元的内容可按需随意取出或存 阅读全文
posted @ 2023-02-19 14:39 ImreW 阅读(1989) 评论(0) 推荐(1)
摘要:(一)默认参数 C++函数中的形参列表中的形参是可以有默认值的 语法:返回值类型 函数名(参数 = 默认值){} 注意事项: 如果我们自己传入数据,就用自己的数据,如果没有,就用默认值 如果某个位置参数有默认值,那么从这个位置往后,从左往右,必须都要有默认值 如果函数声明有默认参数,函数实现就不能有 阅读全文
posted @ 2023-02-18 21:30 ImreW 阅读(69) 评论(0) 推荐(0)