c++
qq_43399804
这个作者很懒,什么都没留下…
展开
-
2021-07-12
new 与 malloc区别原创 2021-07-12 16:20:44 · 66 阅读 · 0 评论 -
stm32时钟
原创 2021-06-08 10:40:23 · 62 阅读 · 0 评论 -
二叉树层序遍历
void FloorPrint_QUEUE(pTreeNode &Tree) //层序遍历_队列实现{queue < pTreeNode> q;if (Tree != NULL){q.push(Tree); //根节点进队列}while (q.empty() == false) //队列不为空判断{ cout << q.front()->data << " → "; if (q.front()->leftPtr原创 2021-06-07 16:05:21 · 56 阅读 · 0 评论 -
运算符优先级
运算符优先级优先级【高到低】:第一级:圆括号【()】、下标运算符【[]】、分量运算符的指向结构体成员运算符【->】、结构体成员运算符【.】第二级:逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++ --】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算符【和&】、长度运算符【sizeof】第三级:乘法运算符【】、除法运算符【/】、取余运算符【%】第四级:加法运算符【+】、减法运算符【-】第五级:左移动运算符【<<】、右移动运算符【&原创 2021-06-02 10:14:02 · 858 阅读 · 0 评论 -
correction
int main(){int a=1,b=2,m=0,n=0,k;k=(n=b<a)&&(m=a) ;printf("%d,%d\n",k,m);return 0;}输出结果为0,0&&连接,前面为0后面语句就不执行原创 2021-05-26 12:45:46 · 102 阅读 · 0 评论 -
c++基础
1.常量作用:用于记录程序中不可更改的数据C++定义常量两种方式1.#define宏常量: #define 常量名 常量值 通常在文件上方定义,表示一个常量2.const修饰的变量 const 数据类型 常量名=常量值通常在变量定义前加关键字const,修饰该变量为常量,不可修改2.关键字3 标识符命名规则作用:C++规定给标识符(变量、常量)命名时,有一套自己的规则标识符不能是关键字·标识符只能由字母、数字、下划线组成·第一个字符必须为字母或下划线...原创 2021-05-25 22:59:29 · 48 阅读 · 0 评论 -
整数翻转数字溢出
class Solution {public: int reverse(int x) { int res=0; while(x!=0){ // 检查数字是否溢出 if (res > INT_MAX / 10 || res < INT_MIN / 10) {return 0;} res=res*10 + x%10; x/=10; } ..原创 2021-05-23 15:33:17 · 50 阅读 · 0 评论 -
重复元素(STL)
给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。class Solution {public: bool containsDuplicate(vector<int>& nums) {sort(nums.begin(),nums.end());return (unique(nums.begin(),nums.end())!=nums.end());}};unique函原创 2021-05-16 14:50:03 · 138 阅读 · 0 评论 -
贪心算法
本质时求取局部最优解以抓包问题为例在既满足价值最高同时又质量最大的情况,采用贪心算法,其局部最优体现在每个物体的性价比最高采用贪心算法,只能保证局部最优,只适合奔雷问题物体可以切割的情况加入物体不可以分割,同时满足两个条件就得采用动态规划#include<iostream>#include<algorithm>using namespace std;//贪心算法适用于可分割的重物//如果物体不可分割采用动态规划struct bag{ int w; //重量原创 2021-05-12 22:50:18 · 74 阅读 · 0 评论 -
string
3.1.1 string基本概念本质:string是C++风格的字符串,而string本质上是一个类string和char区别:. char是一个指针string是一个类,类内部封装了char*,管理这个字符串,是一个char型的容器。特点:string类内部封装了很多成员方法例如:查找find,拷贝copy,删除delete替换replace,插入insertstring管理char所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责3.1.2 string构造函数构造函数原型:s原创 2021-05-09 21:09:06 · 46 阅读 · 0 评论 -
this pointer
this 指针1.解决名称冲突2,*this指向本体,可以实现链式编程#include<iostream>using namespace std;class person {public: person(int age) { this->m_age = age; } person& personadd(person &p) { //返回person的引用,不然后面创建p2返回时会创建一个新的p2',返回引用返回的还是p2 this->原创 2021-04-29 14:57:09 · 51 阅读 · 0 评论 -
类占空间
空类占用的内存空间为1个字节,为了区分空对象内存占用的位置静态成员变量类内声明,类外初始化sizeof(p)=4;静态成员变量不属于类对象sizeof(p)=4;非静态的成员函数不属于类对象归根结底就是只有非静态的成员变量属于类对象...原创 2021-04-25 21:55:43 · 75 阅读 · 0 评论 -
类对象
类对象的构造函数和析构函数#include<iostream>using namespace std;#include<string>class phone {public: phone(string pName) { this->p_name = pName; cout << "phone的构造函数的调用" << endl; } ~phone() { cout << "phone的析构函数" << e原创 2021-04-25 11:35:08 · 50 阅读 · 0 评论 -
初始化列表
原创 2021-04-24 22:24:14 · 52 阅读 · 0 评论 -
深拷贝&浅拷贝
深拷贝与浅拷贝如果内存在堆区,浅拷贝会造成内存空间的重复释放使用深拷贝可以解决浅拷贝带来的问题,创建拷贝构造函数,避免内存重复释放析构函数也可以发挥作用,检查内存是否是放干净,释放堆区析构函数~person() {//检查指针是否为空,即堆区是否为空//不为空认为置空 if (m_height!=NULL) { delete m_height; m_height = NULL; } }如果类的内部有栈区数据,需要加拷贝构造函数person(const person&原创 2021-04-24 22:14:29 · 52 阅读 · 0 评论