c++
过桥丶米线
这个作者很懒,什么都没留下…
展开
-
内存分配--堆和栈
内存分配1、栈(stack)内存由系统自动分配,自动释放,分配的位置和大小无法主动控制2、堆(heap)主动申请和释放,new、malloc等函数分配内存3、堆和栈的主要区别① 申请方式int a; //系统自动分配内存int *p = new int a[4]; //主动申请内存,调用delete[]释放内存② 效率栈:windows下系统预留栈的空间一般为2M,只要申请的内存大小小于剩余的可用栈 大小,系统立马分配,否则报错,GetlastError();堆:操作系统有原创 2022-05-09 19:32:39 · 1599 阅读 · 0 评论 -
Linux环境下遍历文件所有内容
#include <dirent.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h>int count = 0; void dir_scan(char *path, char *file) { struct stat s; .原创 2021-03-19 14:47:42 · 472 阅读 · 0 评论 -
C++ 获取文件夹下的所有文件名
首先了解一下这个结构体struct _finddata_t { unsigned attrib; time_t time_create; time_t time_access; time_t time_write; _fsize_t size; char name[260];};其中各成员变量的含义如下:unsigned atrrib: 文件属性的存储位置。它存储一个unsigned单原创 2021-03-08 17:11:49 · 559 阅读 · 0 评论 -
C++ 实现读取文本文件(按行读取)
#include <iostream>#include <string>#include "fstream"using namespace std;int main(){ string label_file = "/home/wwh/Documents/caffe_files/resnet-18/labels.txt"; std::ifstream labels(label_file.c_str()); if(!labels.is_open()){原创 2021-03-08 15:59:41 · 1499 阅读 · 0 评论 -
try-catch-finally运行顺序
结论:不管有没有出现异常,finally代码块都会执行;不管try和catch的代码块中有return时,finally仍会执行,且如果finally代码块也有return,则此代码肯定会返回finally执行的return值。分有return和没有return来讨论try-catch-finally执行顺序的情况:1 无return举个例子:try { t(); tt();} catch (Exception e) { c();} finally { f(原创 2021-03-05 13:30:31 · 162 阅读 · 0 评论 -
C++内存对齐详解
struct/class/union内存对齐原则有四个:1).数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小(只要该成员有子成员,比如说是数组,结构体等)的整数倍开始(比如int在32位机为4字节, 则要从4的整数倍地址开始存储),基本类型不包括struct/cl...转载 2020-04-28 11:58:22 · 309 阅读 · 0 评论 -
#include<algotithm>函数功能一览表
非修改性序列操作(12个)循环对序列中的每个元素执行某操作for_each()查找在序列中找出某个值的第一次出现的位置find()在序列中找出符合某谓词的第一个元素find_if()在序列中找出一子序列的最后一次出现的位置find_end()在序列中找出第一次出现指定值集中之值的位置find_first_of()在序列中找出相邻的一对值adjacent_find(...原创 2020-04-17 18:48:16 · 343 阅读 · 0 评论