![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
小短短发
这个作者很懒,什么都没留下…
展开
-
一些C++语言问题总结!!
一.指针数组和数组指针的区分?? int *p[4]; //定义一个指针数组,该数组中每个元素是一个指针,每个指针指向哪里就需要程序中后续再定义了。 int (*p)[4]; //定义一个数组指针,该指针指向含4个元素的一维数组(数组中每个元素是int型) 区分int *p[n]; 和int (*p)[n]; 就要看运算符的优先级了。 int *p[n]; 中,运算符[ ]优先...原创 2019-04-24 20:43:34 · 102 阅读 · 0 评论 -
写一个完整的memcpy,strcpy,strlen char *a = "aa"; char s[] = "123456789"; char d[] = "123"; st
直接甩出我的代码和注释: void* memcpy(void* cdes,void* csrc,unsigned int n) {//0.任意类型都能复制,只能靠长度来限定复制完没 //1.判断源地址,目的地址为不为空 assert(cdes); assert(csrc); //2.保存源地址的地址名称 void* des=cdes; void* src=csrc; //3.考...原创 2019-09-03 22:18:12 · 295 阅读 · 0 评论 -
二叉树的中序遍历----递归、循环、以及空间复杂度O(1)解法
话不多说,前两种直接上代码: 递归方法: void preOrder(TreeNode* root){ if(root != NULL){ preOrder(root->left); cout << root->val << " "; preOrder(root->right); } }...原创 2019-08-28 15:49:52 · 2725 阅读 · 0 评论 -
编程题-----判断树是否平衡(常规解法+优化)
不多说,首先给出我的常规解法:递归访问整棵树,计算子树的高度 int depth(TreeNode* root) { if(root==NULL) return 0; return max(depth(root->left),depth(root->right))+1; } bool isBalanced(TreeNo...原创 2019-08-26 15:19:11 · 145 阅读 · 0 评论 -
c++中拷贝构造-----深拷贝和浅拷贝
-------写在前面----- 以下几种情况调用拷贝构造: 1当用类的一个对象初始化该类的另一个对象时. 2如果函数的形参是类的对象,调用函数时,进行形参和实参结合时. 3如果函数的返回值是类的对象,函数执行完成返回调用者时. 4、需要产生一个临时类对象时。 ------------------------ 浅拷贝:又称为值拷贝,意思是只拷贝了对方的值,没有单独开辟空间,两个变量指...原创 2019-07-31 22:00:48 · 162 阅读 · 0 评论 -
两种getline的用法--iostream和string
第一种:在<iostream>中的getline()函数有两种重载形式: istream& getline (char* s, streamsize n );istream& getline (char* s, streamsize n, char delim ); getline顾名思义即读入一行,遇到换行/delim/字数达到限定,就会终止读入 第二种:在...原创 2019-07-31 14:08:48 · 719 阅读 · 0 评论 -
c++-----引用和二级指针的关系
一.引用的底层原理实现 什么是引用? 引用实际是存放的对象的地址 引用占内存吗? 采用如下例子: 可以看到直接对b取地址符,得到的值和a的地址一样!之前以为这样就说明a和b是同一个内容,即b不占用内存。 其实不然:看下面一个例子 可以看出: 结...原创 2019-07-25 20:10:49 · 277 阅读 · 0 评论 -
C++11 中的std::function和std::bind
1. 可调用对象 可调用对象有一下几种定义: 是一个函数指针,参考C++ 函数指针和函数类型; 是一个具有operator()成员函数的类的对象; 可被转换成函数指针的类对象; 一个类成员函数指针; C++中可调用对象的虽然都有一个比较统一的操作形式,但是定义方法五花八门,这样就导致使用统一的方式保存可调用对象或者传递可调用对象时,会十分繁琐。C++11中提供了std::functio...转载 2019-07-03 17:01:19 · 102 阅读 · 0 评论 -
c++各种排序算法实现
#include<iostream> #include<unordered_map> #include<string> #include<vector> using namespace std; //含有跳跃式交换的排序算法,都是不稳定的算法 //---------交换类------- //冒泡排序---稳定的排序、最好n、平均n^2、最坏n^2 ...原创 2019-09-14 22:59:44 · 151 阅读 · 0 评论