
c++
yeler082
本科就读于新疆大学软件学院,现阶段在西安交通大学攻读软件工程硕士,研方向为计算机视觉(图像识别、目标检测)
展开
-
C++ 空指针与野指针
空指针空指针:指针变量指向内存中编号为0的空间,0-255之间的内存是系统使用的,nullptr默认是0用途:初始化指针变量注意:空指针指向的内存是不允许访问的。实例:空指针野指针野指针:指针变量指向的是一块非法的内存空间...原创 2019-12-16 14:44:28 · 673 阅读 · 0 评论 -
C++ #include <algorithm>
标准模板库:算法头文件<algorithm>定义了一组专门设计用于元素范围的函数集合。范围是可以通过迭代器或指针访问的任何对象序列,例如数组或某些STL容器的实例。 但是请注意,算法通过迭代器直接对值进行操作,而不以任何方式影响任何可能容器的结构(它从不影响容器的大小或存储分配)。参考手册:cplusplus.com具体包括 1、非修改序列操作 2、修改序列的操作 ...原创 2019-12-16 13:31:41 · 5300 阅读 · 0 评论 -
C++ explicit关键字
首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).那么显示声明的构造函数和隐式声明的有什么区别呢? 我们来看下面的例子:class CxString // 构造函数没有使用explicit关键字...转载 2019-11-26 17:26:17 · 245 阅读 · 0 评论 -
C++ public、protected、private继承
1 、C++继承机制的相关知识点继承机制,就是利用已有的数据类型来定义新的数据类型,新数据类型将拥有基类的成员。派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继承。单继承语法:class <派生类名称>:<继承方式><基类名>{//派生类新定义成员}; 多继承语法:clas...原创 2019-10-06 21:27:18 · 362 阅读 · 0 评论 -
C++中的虚函数
#include <iostream>using namespace std;class A{protected: int m_data;public: A(int data=0):m_data(data){} int getData() { return doGetData(); } virtual ...原创 2019-10-06 20:26:38 · 180 阅读 · 0 评论 -
C++类默认的四个函数,及手工实现String类
#include <iostream>#include <cstring>using namespace std;class String{public: //构造函数 String(const char *str = NULL); //析构函数 ~String(void); //复制构造函数 String(...原创 2019-10-06 11:25:07 · 257 阅读 · 1 评论 -
C++ a,b的比较与交换
#include<iostream>using namespace std;//获取两个数的最大者int maxNum(int a, int b){ return (a + b + abs(a - b)) >> 1;}//获取两个数的最小者int minNum(int a, int b){ return (a + b - abs(a -...原创 2019-10-04 20:23:53 · 1116 阅读 · 0 评论 -
C++类型转换
1 与C有关的类型转换#include<iostream>using namespace std;int main(){ float a = 1.0f; // 输出强制转换的结果 cout << (int)a << endl; // 输出地址 cout << &a << end...原创 2019-10-03 21:27:01 · 221 阅读 · 0 评论 -
C++赋值语句
1 赋值语句的覆盖问题,这样重复定义变量i会产生一个警告,对应于不同的编译器,会产生不同的效果。#include<iostream>using namespace std;int i = 0;int main(){ int i = i; cout<< i <<endl; return 0;}2 与或运算及逻辑与或运算...原创 2019-10-03 20:11:24 · 2826 阅读 · 0 评论 -
C++友元
友元类:在A类中声明B类是它的朋友,B类中定义A类的对象,那么在B类中通过该对象可以实现对A类私有数据的访问#include<iostream>using namespace std;class A { public : //A将B认作为自己的朋友,B类中的函数可以直访问A类的私有数据 friend class B; priv...原创 2019-10-03 19:31:42 · 269 阅读 · 0 评论 -
C++中的vector
#include <iostream>#include<vector>using namespace std;void print(vector<int>);int sum(vector<int>);int main(){ vector<int> vec; vec.push_back(34); vec.push_...原创 2019-10-02 21:53:06 · 166 阅读 · 0 评论 -
C++中的指针操作
1、ptr++指针的理解#include <iostream>using namespace std;int main(){ int arr[] = {6,7,8,9,10}; int *ptr = arr; *(ptr++) += 123; cout << *ptr<<"---"<<*(++ptr); return 0;}...原创 2019-10-02 21:22:02 · 278 阅读 · 0 评论 -
C++线程中的几种锁
线程之间的锁有:互斥锁、条件锁、自旋锁、读写锁、递归锁。一般而言,锁的功能越强大,性能就会越低。1、互斥锁互斥锁用于控制多个线程对他们之间共享资源互斥访问的一个信号量。也就是说是为了避免多个线程在某一时刻同时操作一个共享资源。例如线程池中的有多个空闲线程和一个任务队列。任何是一个线程都要使用互斥锁互斥访问任务队列,以避免多个线程同时访问任务队列以发生错乱。在某一时刻,只有一个线程可以获...原创 2019-05-19 14:22:55 · 311 阅读 · 0 评论