- 博客(54)
- 收藏
- 关注
原创 android studio 无法debug native
Run-> Edit Configurations-> Debugger下的Symbol Directors是否为空。网上各种方法都试了,发现任然不行,然后就搜到了一篇文章,网址如下。如果为空,请点击+号,选择你的项目目录,保存即可。就解决了,赶紧记录一下。
2023-05-26 13:48:42
337
原创 crc16手算
CRC16 手算方法:具体见B站:https://www.bilibili.com/video/BV1V4411Z7VA?spm_id_from=333.337.search-card.all.click
2022-05-17 14:25:49
164
原创 The minCompileSdk (30) specified in a
android studio 报错:The minCompileSdk (30) specified in a有些时候我们升级as各种插件或者其他东西的版本后,会出现这种情况。解决方法:在 APP的Gradle文件的package中输入如下代码:configurations.all { resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' }}并且:在build.gradle 文件中添加compileSdkVersion
2022-05-09 15:00:56
779
原创 android studio一开始能运行,加了一些代码后运行报错
有时就会这样,可以试一试菜单栏中的"Build",然后选择"clean project",然后选择"rebuild project"
2021-12-16 13:26:26
1255
原创 android studio 无法调试cpp代码
android studio之前的版本都是要下载LLDB,然后才能调试cpp,现在不需要了,只需要下载SDK、NDK,就可以正常调试cpp了。如果有了这些还是不能调试,那么打开菜单栏的“Run”,打开“Edit configurations”,选择“Debugger”,选择“Dual(Java+Native)”。...
2021-12-16 10:07:30
4868
原创 Manifest merger failed : uses-sdk:minSdkVersion 21 cannot be smaller than version 24
如题,如果使用android studio中出现了Manifest merger failed : uses-sdk:minSdkVersion 21 cannot be smaller than version 24 declared in library [:share] D:\work\project\location-android\share\build\intermediates\library_manifest\debug\AndroidManifest.xml as the library
2021-12-11 15:27:14
7068
原创 c++自己遇到的比较重要的知识点
c++知识点数组初始化时,size一般都是需要写数字,如果想写变量,那么就需要使用new。 int a = 5; int b[a]; // 报错 表达式必须含有常量值 int *b = new int[a]; // 正确 int *c = &5; // 错误,因为5是没有指针的,取不了地址 int *c = &a; // 正确new出来的变量是放在堆区的,所以在运行结束或者不用了之前,需要删掉,不然会一直占着内存空间。正确的删除方式是先delete,然后指向NU
2021-09-15 15:31:57
62
原创 git 使用心得
git使用方法具体请看廖雪峰git教程 强烈建议有不会的地方就去这里翻阅一下,讲的很不错。怎么将远程仓库和本地仓库联系起来先在本地创建一个ssh key,右键桌面,点击git bash here,输入ssh-keygen -t rsa -C "youremail@example.com",一路回车。会在户主目录(C:\Users\Administrator)生成 .ssh 的文件夹,并且在里面生成2个文件,id_rsa和id_rsa.pub,其中id_rsa是私钥,不能泄露出去,id_rsa.pub
2021-09-03 15:30:29
65
原创 c++ 中vector的初始化
可以在定义一个vecor的时候就进行初始化void main(){ vector<int> b = { 1,2,3,4,5,6 }; // 运行成功}初始化一个vector<complex>void main(){ vector < complex < double >> a = { {1,2},{3,4},{5,6} }; // 运行成功 注意里面每个complex都要有大括号}初始化一个vector<vector&g
2021-08-06 13:22:56
544
原创 数组的传入与传出
数组的传入:1,传入指针;2,直接传入 变量名[5];3 直接传入 变量名[]而且上面的三种方式,其实都是传入的是实参,而不是形参,可以看到main函数中数组的数都变了。数组的传出:无法传出数组,只能传出数组的第一个数的指针。void changeArray(int* a,int size); //传入的是数组void main(){ int a[] = { 1,2,3,4,5 }; changeArray(a,5); cout << a[0]<<endl;
2021-08-03 16:25:24
752
原创 c++ 指针
int b; b = 8; int* a; a = &b;//取地址操作只能针对变量,不能直接对数字进行取地址 cout << *a << endl; int c[] = { 1,2 }; cout << *c << endl; // c数组,c这个变量代表的就是c[0]的指针 int* ptr = NULL; // 在定义指针时,一开始要赋值为NULL,也就是空指针 cout << &ptr <<.
2021-08-03 11:25:34
61
原创 多态的原理以及实现
具体详情,请见网址:https://www.bilibili.com/video/BV1et411b73Z?p=136多态的实现:目前学了2种实现方式#include <iostream>using namespace std;class AbstractCalculator{public: virtual int getResult() { return 0; } int m_A; int m_B;};class AddOperator : public Abs.
2021-07-06 14:16:02
65
原创 c++多态的基本使用
#include <iostream>using namespace std;class Person{public: virtual void speak() // 这里必须要加virtual,没有virtual就出错。 // 如果不写virtual,那么指针地址就是早绑定,也就是编译时就绑定了,写上,那就是运行时再绑定地址 // 这里叫做虚函数 { cout << "人类在说话" << endl; }};class Man : p
2021-07-05 14:12:28
77
原创 类中初始化变量的另一种方法
class Person{ int m_A; int m_B; Person(int a,int b,int c) { m_A = a; m_B = b; }}上面的构造函数等同于Person(int a,int b,int c):m_A(a),m_B(b) { }
2021-07-02 15:23:50
71
原创 深拷贝与浅拷贝
浅拷贝: 系统自定义的拷贝函数就是浅拷贝,也就是直接将值赋值给另一个变量,而且复制的指针都是一样的;深拷贝:深拷贝是为了解决一种情况,那就是在类中,我们可能需要新建个存在于堆上的数据(new 指针、static静态数据),然后我们再调用浅拷贝函数时,会调用一次析构函数,析构函数会释放掉堆上的数据,然后我们就无法再调用堆上的这个数据了,就会报错。具体代码如下:#include <iostream>using namespace std;class Person{public: int
2021-07-02 15:17:23
50
原创 构造函数调用、生成规则
c++中,每创建一个类,系统都会默认生成一个构造、析构、拷贝函数;如果类中自定义了有参构造函数,那么系统就不自己定义无参构造函数,但是仍然会定义拷贝函数;如果类中定义了拷贝函数,那么系统就不定义无参构造、析构函数了,就要我们自己写了;class Person{public: Person (const Person &p){ m_Age = p.m_Age; } int m_Age;}void main(){ Person p1; // 这里就出错了,因为类中只有拷贝函
2021-07-02 13:54:11
93
原创 拷贝函数、构造函数
Person (const Person &p) // 必须要加const,而且传入的必须是引用。加const就是说p是无法进行修改。{ // 将p身上的所有成员复制给本身 m_Age = p.m_Age;}实例化对象时,不要加括号,除非要传入参数。不然会出错的。因为编译器会认为这是在创建一个函数。Person p1(); // 返回的是Person类,函数名叫p1Person p1; // 这样才是对的Person (10) // 创建了一个匿名对象,这
2021-07-02 13:37:08
60
原创 c++ struct和class区别
struct默认的访问权限是publicclass默认的访问权限是privatestruct使用起来和class很像,struct也可以像class一样进行实例化。
2021-07-02 10:38:44
62
原创 类的访问权限
public:类内可以访问,类外不可以访问,子类可以访问protected:类内可以,类外不可以,子类可以private: 类内可以,类外不可以,子类不可以
2021-07-02 10:36:11
136
原创 子类和父类中有同名成员
子类和父类中有同名成员变量或者成员函数时,肯定访问的是子类的成员,如果想访问父类的成员呢,就要这么操作。子类.父类::成员名因为当出现同名时,编译器会隐藏父类所有的成员,包括重载的成员函数。...
2021-07-02 10:18:41
427
原创 子类继承其实是继承所有成员
子类继承了父类所有的非静态成员,子类的size也就变大#include <iostream>using namespace std;class Base{public: int m_A; static const int m_F = 10;protected: int m_B;private: int m_C;};class Son :public Base{public: int m_D;};void test(){ cout << si
2021-07-02 09:43:20
282
原创 c++匿名对象
c++中,可以不将类进行实体化,直接用类名+()的形式生成一个类,这个类执行这句话后,会再次被释放掉#include <iostream>using namespace std;class Person{public: int m_Age; string m_Name; Person(string name,int age) { m_Age = age; m_Name = name; }};void test(){ cout << Person
2021-07-01 17:14:11
482
原创 赋值符重载
这是错误的,具体修改就用到了赋值运算符重载#include <iostream>using namespace std;class Person{public: int* m_Age; // 这里用到了指针,这样开辟的成员变量就在堆中。 // 由于变量是在堆中,所以要程序员自己释放掉,new用delete; // malloc用free Person(int age) { m_Age = new int(age); } ~Person() {
2021-07-01 16:53:30
69
原创 static赋值的2种方法
#include <iostream>using namespace std;class Person{ public: static const int m=10;};int main(){ cout << Person::m << endl; return 0;}#include <iostream>using namespace std;class Person{public: static int m=
2021-06-30 17:09:20
995
原创 运算符递增
这里要注意的是前置递增和后置递增,而且着重要看返回的是引用,还是新建的类。这里还重载了左运算符,就是<<,这样就可以输出我们自定义的类了。#include <iostream>using namespace std;class MyInteger{ friend ostream& operator<< (ostream & cout, MyInteger & myint);public: MyInteger() { m_Nu
2021-06-30 10:34:46
77
原创 c++ 传递数组给函数
数组不需要传递指针,或者引用,直接传入数组,就相当于传递的是指针。具体见下面的代码void fun1(int arr[]){ arr[0] = arr[1] + arr[2];}int main(){ int a[] = { 1,2,3 }; fun1(a); printf("%d", a[0]);}...
2021-06-11 15:14:11
147
1
原创 c++中vector.size()报错
在visual studio中使用for (int i = 0; i < vector.size(); i++) 时报错,因为vector.size()是无符号整数型,i是int型,解决方法就是定义一个int size_t =vector.size().于是,代码就变成`int size_t = vector.size();for (int i = 0; i < size_t; i++) ...
2021-06-11 11:22:57
1673
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人