- 博客(56)
- 资源 (1)
- 收藏
- 关注
转载 【C++ STL】 vector添加元素(push_back()和emplace_back())详解
在 《STL vector容器详解》一节中,已经给大家列出了 vector 容器提供的所有成员函数,在这些成员函数中,可以用来给容器中添加元素的函数有 2 个,分别是 push_back() 和 emplace_back() 函数。有读者可能认为还有 insert() 和 emplace() 成员函数,严格意义上讲,这 2 个成员函数的功能是向容器中的指定位置插入元素push_back()该成员函数的功能是在 vector 容器尾部添加一个元素,用法也非常简单,比如:#include <ios
2022-02-25 14:29:57 1031
原创 多线程(1-6 Thread 续)
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace 多线程{ //1:Thred //最简单、最原始的使用方法:Thread oGetArgThread = new Thread(new ThreadStart(() =>{});这种用法应该大多数人都使用过,参数为一个ThreadStart类型的
2021-11-25 22:13:53 568
原创 多线程(1-6 Thread)(c#)
多线程(1-6 Thread)using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace ThreadClass{ class Program { static void Main(string[] args) { #region 控制线程
2021-11-25 22:10:37 804
原创 多线程(1-5 ParallelUse)(c#)
多线程(1-5 ParallelUse)using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;namespace ParallelUse{ class Program { /// <summary> /// Paral
2021-11-25 22:06:50 355
原创 多线程(1-4-Task)(c#)
多线程(1-4-Task)using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Threading;/* 1:可以看到Task和Thread一样,位于System.Threading命名空间下; 2:两种方式创建两个task,并让他们运行。可以看到通过构造函数创建的task,必须手动Start,而
2021-11-25 22:02:23 736
原创 多线程(1-3)(c#)
多线程(1-3)using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace Multithreading{ class Program { public delegate int TakesAWhileDelegate(int data, int ms); //定义委托 sta
2021-11-25 21:55:30 295
原创 多线程(1-2)(c#)
多线程(1-2)class Program { static void Main(string[] args) { //btnSync_Click(); //同步 btnAsync_Click(); //异步 Console.Read(); } public delegate void DoNothing(string name);
2021-11-25 21:51:31 898
原创 多线程(1-1)(c#)
多线程(1-1)/// 1 进程-线程-多线程,同步和异步/// 2 委托启动异步调用/// 3 多线程特点:不卡主线程、速度快、无序性/// 4 异步的回调和状态参数/// 5 异步等待三种方式/// 6 异步返回值////// 进程-线程 计算机概念/// 进程是一个程序在电脑上运行时,全部计算资源的合集叫进程/// 线程是程序的最小执行单位,包含计算资源,任何一个操作的响应都是线程完成的/// 多线程:多个线程并发执行/// Thread:是.Net框架封装的一个类,描述线程
2021-11-25 21:43:21 97
原创 c# 多线程
Enumerable.Range(0, allBlock).AsParallel().ForAll(i =>{ ......});) Task.Factory.StartNew(new Action(() =>{ ........}));
2021-09-26 16:03:34 98
原创 c# 定时器
private DispatcherTimer _timer = new DispatcherTimer();_timer.Tick += Timer_Elapsed;_timer.Interval = TimeSpan.FromSeconds(1);_timer.Start(); private void Timer_Elapsed(object sender, object e) { ...... }
2021-09-26 15:58:15 104
原创 文件读写_02
//这个是每次写完一个文件uint64_t m_iADCDataLengthPerFile;m_iADCDataLengthPerFile = m_iCellsOfUnit * m_iMiniOfAxialBlock * m_iMiniOfTranBlock * m_iMicroOfAxialMiniBlock * m_iMicroOfTranMiniBlock * ConstSipmNumPerMicro * ConstADCScaleLength;uint16_t** m_spADCFil
2021-09-09 15:59:38 118
原创 对象模型——3.1 虚函数表指针的位置和虚函数表分析
1.虚函数表指针的位置分析 一个类有虚函数的话,会产生一个虚函数表 而生成这个类的对象的时候,这个对象就会产生一个指针,指向虚函数表的开始位置,这个指针就是虚函数指针(vptr),有种类似于这个对象的成员变量,它是占字节数的,如在vs2017中占4个字节,在Linux下占8个字节 而vptr在对象内存中的位置取决于编译器 分析虚函数表指针的位置分析的代码: #include <iostream>using namespace std; class A{public: ..
2021-08-24 10:24:34 354
原创 对象模型—04 成员初始化列表
何时必须用成员初始化列表1)如果成员变量是引用类型如果成员变量是一个引用类型,则必须在初始化列表中进行初始化2)如果成员变量是const类型3)如果该类继承自一个基类,并且基类中有构造函数,这个构造函数里还有参数4)如果类中成员变量的类型是某个类类型,而这个类类型所指类的构造函数带有参数使用初始化列表的优势除了必须用初始化列表的场合,程序员使用初始化列表还有什么目的?其实就是为了提高程序的运行效率对于类类型成员变量放到初始化列表中能够比较明显的看到效率的提升但是如果是简单类型的成员变量,如
2021-08-19 10:51:00 98
原创 对象模型—03 拷贝构造函数语义
拷贝构造函数语义class ASon{public: int m_testson;};class A{public: int m_test; ASon asubobj; };int main(){ A myal; myal.m_test=15; myal.asubobj.m_testson=120; A mya2=mya1; // 是拷贝构造一个对象。}传统上,大家认为:如果我们没有定义一个自己的拷贝构造函数,编译器会帮助我们合成 一个拷贝构造函数。这个
2021-08-14 14:41:45 105
原创 对象模型—02 构造函数语义
什么情况下编译器会生成一个 “合成默认构造函数”1)编译器生成“合成默认构造函数”的第一种情况class MATX{public: MATX() //默认构造函数 { cout << "goodHAHAHAHA" << endl; }};class MBTX{public: int m_i; int m_j; MATX ma; //类类型成员变量 void funct() { cout << "IAmVeryGood" <
2021-08-14 11:18:15 85
原创 对象模型 —01 类对象所占用的空间介绍和this指针调整
2-1:类对象所占用的空间#include "pch.h"#include <iostream>using namespace std;class A{public: void func() {}; //成员函数 void func1() {}; //成员函数 void func2() {}; //成员函数 //char ab; //成员变量,char类型占一个字节内存 int ab; //int类型占4个字节};//类对象所占用的空间int main(){
2021-08-10 10:19:09 102
原创 VSCode的C++环境搭建,多文件编译,json调试配置(Windows篇)
总体认识vscode中有两个配置文件非常关键,launch.json、tasks.json,要想理解这两个文件的作用,首先需要理解• 一个C++是如何被编译的;• 如何用CMake构建多文件大型程序。launch.json是调试运行一个已经编译好的程序,而调试运行的前提是编译整个项目,这正是tasks.json的任务,tasks.json调用CMake命令才能编译多文件项目,下面具体来看实操演练1)搭建环境:windows桌面点击shit+右击 Windows PowerShell输入gc
2021-07-24 17:06:08 1079
原创 C++ 集合使用的相关总结
C++ 集合使用的相关总结1)C++ STL vector添加元素(push_back()和emplace_back())详解参考链接:vector添加元素(push_back()和emplace_back())详解 在 STL vector容器详解》一节中,已经给大家列出了 vector 容器提供的所有成员函数,在这些成员函数中,可以用来给容器中添加元素的函数有 2 个,分别是 push_back() 和 emplace_back() 函数。有读者可能认为还有 insert() 和
2021-07-22 14:14:43 267
原创 gdb调试
//a)编译时g++ 要带这个 -g选项;//b)su进入root权限,然后gdb nginx调试//c)gdb缺省调试主进程,但是gdb 7.0以上版本可以调试子进程【我们需要调试子进程,因为干活的是worker process是子进程】;//命令 行下 :gdb -v看版本//d)为了让gdb支持多进程调试,要设置一下 follow-fork-mode选项 ,这是个调试多进程的开关;//取值可以是parent[主] /child[子] ,我们这里需要设置成child才能调试worker pr
2021-07-03 13:42:00 124
原创 vs2019 远程连接linux
通过VS2019远程连接linux1)新建立linux的控制台应用1)2)设置远程连接的ip工具-》选项-》跨平台-》连接管理器-》添加3)查看项目属性设置:4)
2021-05-27 16:05:29 870
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人