- 博客(19)
- 收藏
- 关注
原创 tinyxml库myDoc->LoadFile()报错可能原因以及3种解决方案
tinyxml库myDoc->LoadFile()报错可能原因以及3种解决方案
2022-07-14 22:09:19
2321
2
原创 vscode make : 无法将“make”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
最近windows下想用makefile,结果执行make命令时出现下面问题,无法识别make命令。(前提:我的gcc环境是正常的)问题现象:系统找不到make命令,但是在powershell下我的其他linux命令比如ls等都是可用的解决方案:找到mingw64安装目录,把里面的mingw32-make.exe改成make.exe即可或者直接在vscode里输入mingw32-make可以实现同样效果,就是每次都输入这么长有点麻烦...
2022-04-10 10:29:16
17790
4
原创 string.length()返回值与负值比较的坑
string.length()返回值隐蔽的坑string.length()返回值为size_t ,是一个unsigned integral type,而当我们用string.length()与int进行大小比较时,int值会被隐式转成unsigned integral!!在用负的int与string.length()进行比较时就会出错#include <iostream>#include <string>#include <typeinfo> #include
2021-09-01 11:30:16
1444
1
转载 C++空指针调用类成员函数
C++空指针可以调用类成员函数,但是【不能调用】类中的【虚函数】我们知道,一个对象的指针可以调用它的成员函数和虚函数,那么如果一个指向空nullptr的指针,能不能调用它的成员函数和虚函数。#include<iostream>using namespace std;class A{public: void func1() { //_a = 1; } virtual void func2() { }private: int _a = 10 ;};in
2021-07-21 21:27:29
1853
原创 VC++6.0显示行号LineNumberAddin正确加载方法
VC6LineNumberAddin手动破解[1]常规破解方法(如果失败则转[2])放入插件网上的教程有很多,把VC6LineNumberAddin.dll放到Microsoft Visual Studio\Common\MSDev98\AddIns目录下运行注册程序运行VC6LineNumberAddin.reg,将注册信息添加到注册表中VC内部加载打开VC++6.0,然后点tools(工具)选择Customize(定制),在选择Add-ins and Macro Files(附加项和宏文
2021-07-15 20:10:07
2298
转载 Python .py生成.pyd文件并打包.exe注意事项
Python .py生成.pyd文件并打包.exe注意事项 最近用python写了一个小程序,想发布出去让人试用又不想暴露源码,搜索了一下发现将py文件编译成pyd文件就能达到目的。转换过程很简单,但是在调用pyd文件并且打包为单个exe文件的时候遇到一个坑,搞了一天才解决,在这里分享一下。 首先安装cython库,个人比较喜欢用清华的镜像库,速度快。 pip install Cyphton -i https://pypi.tuna.tsinghua.edu.cn/simple然后创建一个setup
2021-07-05 21:10:58
1546
转载 c++11 std::move() 的使用
c++11 std::move() 的使用std::move函数可以以非常简单的方式将左值引用转换为右值引用。(左值、左值引用、右值、右值引用 参见:http://www.cnblogs.com/SZxiaochun/p/8017475.html)通过std::move,可以避免不必要的拷贝操作。std::move是为性能而生。std::move是将对象的状态或者所有权从一个对象转移到另一个对象,只是转移,没有内存的搬迁或者内存拷贝。如string类在赋值或者拷贝构造函数中会声明char数组来存放
2021-06-26 11:37:30
56
转载 return *this和return this区别
别跟我说, return *this返回当前对象, return this返回当前对象的地址(指向当前对象的指针)。 正确答案为:return *this返回的是当前对象的克隆或者本身(若返回类型为A, 则是克隆, 若返回类型为A&, 则是本身 )。return this返回当前对象的地址(指向当前对象的指针), 下面我们来看看程序吧:#include <iostream>using namespace std; class A{public: int x;.
2021-06-10 16:56:08
496
转载 int最小值为何是-2147483648,而不是-2147483647
int最小值为何是-2147483648,而不是-2147483647首先这是针对int占4个字节的情况。最高位是符号位,1表示是负数,0表示是非负数。0111 1111 1111 1111,这是int_max,可能我们就会想为什么最小值不是-int_max呢?因为计算机是以补码的形式来存储数字的,不管-0还是+0,补码都是0000 0000 0000 0000,这就造成了没有任何一个数的补码是1000 0000 0000 0000,所以就可以把这个补码用来存储一个数(不要浪费资源嘛),就规定用它
2021-05-03 10:36:09
6237
1
原创 解决VS2015调试输出闪退的几种方案
解决VS2015调试输出一闪而过的方案加入system(“pause”) 或者是 getchar() 函数。其中需要注意的是使用system(“pause”)需要引用头文件 #include <stdlib.h>,或者是有vs的预编译头#include <stdafx.h>也可以。示例如下,添加之后程序会运行到system(“pause”)这行,不再闪退。#include <stdafx.h>#include <iostream>using
2021-05-03 10:32:07
4818
原创 vector_swap()回收内存方法
vector::swap()回收内存方法最近写代码遇到了一段代码,简化如下:typedef vector<int> myVector;myVector t{1,2,3,4,4};myVector().swap(t); //这行当时没看懂产生了以下几个疑问:为什么用一个空vector去与t交换?交换之后t是不是变成空?为什么不直接用vector::clear()?通过上网查找,发现这是一种内存回收方法,因为vector::clear()只是把容器内容删除,但是空间并没有释放
2021-04-22 15:09:31
671
转载 typedef的用法
typedef的用法第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针,// 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针虽然:char *pa, *pb;也可行,但相对来说没有用typedef的形式直观,尤其在需要大量指针的地方,
2021-04-21 17:51:26
6703
1
原创 int和unsigned int比较大小,vector的size()函数使用注意事项
int和unsigned int比较大小,vector的size()函数使用注意事项首先我们需要知道int与unsigned int进行比较时,会先将int转换为unsigned int进行比较,二者都是正数时没有问题,但是,当int的值为负数时,就会出现-1 > 1的情况,所以使用时要注意,最好是不用。重点来了,vector 的size()函数返回的就是unsigned int。eg1:vector<int> nums;for(i = -1;i < nums.
2021-04-19 10:53:48
2841
转载 约瑟夫问题-N个人围成一圈循环杀掉第M个人
约瑟夫问题-N个人围成一圈循环杀掉第M个人约瑟夫问题是个著名的问题:N个人围成一圈,第一个人从1开始报数,报M的将被杀掉,下一个人接着从1开始报。如此反复,最后剩下一个,求最后的胜利者。例如只有三个人,把他们叫做A、B、C,他们围成一圈,从A开始报数,假设报2的人被杀掉。首先A开始报数,他报1。侥幸逃过一劫。然后轮到B报数,他报2。非常惨,他被杀了C接着从1开始报数接着轮到A报数,他报2。也被杀死了。最终胜利者是C解决方案普通解法刚学数据结构的时候,我们可能用链表的方法去模拟这个过程
2021-04-11 17:15:49
5360
原创 test
一级标题二级标题你好的三级标题引用二级引用啊,这里是我写的正文你猜我应该写点什么东西撒旦撒反对你好第三条你猜哈喽嘻嘻[ ] a task list item[ ] list syntax required normal formatting, @mentions, #1234 refs incomplete completedint main(){ int i=0; cout<<"i="<<i<&
2021-03-18 10:05:59
65
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人