C++
我行我素的小鸭子
改BUG中
展开
-
c/c++语言中随机数的易错
先上两段代码#include<ctime>#include<iostream>using namespace std;int main(void) { srand(time(NULL)); //产生不同的随机数种子 for (int j = 0; j < 5; j++) { cout << rand() % 10 << " "; //rand函数 ; } return 0;}输出:#i原创 2022-05-30 09:40:06 · 321 阅读 · 0 评论 -
C/C++中的安全函数
首先举个例子#include<iostream>using namespace std;int main(){ char buf1[8]; gets(buf1); printf("%s",buf1);}多数情况下,特别是我们在学习一门语言的时候,很难发现以上代码有什么问题。但是当我们把代码调整如下:#include<iostream>using namespace std;int main(){ char buf1[8]; c原创 2022-05-27 10:02:02 · 2039 阅读 · 0 评论 -
Vector排序中遇到的坑(lambda表达式)
在针对一个map进行值排序的时候,想到将map中键值对放到vector中,然后通过sort来进行排序。于是,奇妙的事情发生了。。,代码如下://将map赋值给vector vector<pair<char, int>> numV(numM.begin(), numM.end());//从小到大排序//sort(numV.begin(), numV.end(), [numV](pair<char,int> i, pair<char, int> j){原创 2022-01-13 21:46:23 · 592 阅读 · 0 评论 -
char * str使用误区
1、char * str使用误区 char c[6] = "zhang"; char* b = ""; memcpy(b, c, strlen(c) + 1); printf("复制后字符串为%s\n", b);以上代码会报错,原因在于memcpy函数会修改b指向的值,而char* b = “”;定义了b指向一个空常量字符串,其值不能修改。 char c[6] = "zhang"; char* b = ""; b = (char*)malloc(sizeof(char) *原创 2021-07-25 23:23:02 · 351 阅读 · 0 评论 -
int (*p)[4]与int *p[4]
int (*p)[4]因为小括号()的优先级最高,所以先考虑小括号,即p先和 * 结合,所以p的本质是一个指针,再与方括号[ ]结合,即[ ]描述了p的性质——p是一个指针,它指向的是一个数组,这个数组有4个元素,元素是int类型的。int *p[4]因为[ ]的优先级高于 * ,所以先考虑 [ ] ,即p先和 [ ]结合,所以p的本质是一个数组,再与 * 结合,即 * 描述了p的性质——p是一个数组,数组里装的元素是4个指针,指针是int型的。...原创 2021-05-30 21:15:25 · 1611 阅读 · 0 评论 -
C++应用之拦路虎
一、语言本身变量、条件、循环、字符串、数组、函数、结构体······C语言重点:指针、内存管理C++要学:面向对象特性、泛型、模板、STL二、基础四大件1.数据结构和算法:数据结构:字符串、链表、二叉树、堆、栈、队列、哈希······算法:查找、排序、动态规划······2.计算机网络TCP/IP协议栈:ARP协议、IP协议、ICMP协议、TCP协议、UDP协议、DNS协议、HTTP协议、HTTPS协议3.操作系统进程和线程:原子性、并发、锁······内存:内存分布、内存调度···原创 2021-05-17 13:30:46 · 86 阅读 · 0 评论 -
C4996 ‘sprintf‘: This function or variable may be unsafe
一、问题说明:在VS2019中使用sprintf函数时,报错:严重性 代码 说明 项目 文件 行 禁止显示状态错误 C4996 ‘sprintf’: This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. DLL1 I:\workspace\dl原创 2021-04-17 22:18:11 · 6170 阅读 · 1 评论 -
C++知识点记录
1、GetModuleFileNameA()获取当前运行程序的绝对路径(.exe)GetModuleFileNameA()函数获取绝对路径,不过文件路径中的反斜杠需要进行替换。char executableDirectory[MAX_PATH];GetModuleFileNameA(nullptr, executableDirectory, sizeof(executableDirectory));//executableDirectory="D:\\HNP\\HOOPS_2021\\sample原创 2021-03-07 22:09:55 · 171 阅读 · 0 评论