- 博客(27)
- 收藏
- 关注
原创 OPenGL学习
3.向当前vbo传输数据,也是在开辟显存glBufferData(GL_ARRAY_BUFFER,sizeof(vertics),vertics,GL_STATIC_DRAW);1.VBO(Vertex Buffer Object):表示了在GPU显存上的一段存储空间对象。buffers:是要输入用来存储缓冲对象名称的数组。2.绑定当前vbo,到opengl状态机的当前vbo插槽上。参数n:生成的缓冲对象的数量;
2025-02-08 14:17:12
121
原创 C/C++智能指针
在堆区内开辟的空间,由程序员手动开辟,手动释放,为了保证用 new 动态分配的内存空间在程序执行后都能被释放是一件麻烦的事情,因此采用智能指针的方式。智能指针过期时,调用析构函数释放普通指针的内存。把普通指针交给智能指针对象;
2023-04-10 17:15:30
147
原创 res50和vgg6快速实现
from functools import reducefrom operator import addimport torchimport torch.nn as nnimport torch.nn.functional as Ffrom torchvision.models import resnetfrom torchvision.models import vggfrom .base.feature import extract_feat_vgg, extract_feat_re.
2022-05-12 19:34:11
536
原创 Python中的enumerate()和zip()
enumerate()函数描述:enumerate()函数:python内置函数描述:enumerate()函数一般用于for循环中,可列出序列和下标位置对应的值。语法:enumerate(sequence, start])参数: sequence -- 一个序列、迭代器或其他支持迭代对象。 start -- 下标起始位置的值。 实例:for循环使用enumerate和普通for循环语法#输出元祖,不加起始值,从0开始list1= ['a','b','c'
2022-04-22 10:53:31
2355
原创 C/C++中数组指针与指针数组
1.数组指针的定义方式有三种:#include<iostream>using namespace std;//第一种方法:通过数据类型定义数组指针void test01(){ int arr[3] = {1,2,3} tpyedef int(ARRAY_TYPE)[3];//ARRAY_TYPE是存放3个int类型元素数组 的数组类型,名字任意,大小写不限 ARRAY_TYPE *arrpoint = &arr; //使用*arrpoi
2022-04-21 15:02:12
1201
原创 【无标题】
将小端转化为网络传输的大端:#include<stdio.h>#include<arpa/inet.h>int mian(){ //小端 -> 大端 int num = 0x01020304;//本机采用的是小端存储方式 int res = htonl(num);//本地字节序转化为网络字节序函数,res用来接收转化后的结果 printf("本地字节序转网络字节序(小端转大端)%x\n",res); //大端
2022-04-03 15:06:53
74
原创 C/c++编译过程
预处理:gcc -E test.c -o test.i //头文件展开,去掉注释,宏替换编译:gcc -S test.i -o test.S //编译过程会逐行检查语法错误,整个过程中最耗时汇编:gcc -c test.S -o test.o //将汇编语言代码编译成二进制文件链接:gcc test.o -o test链接阶段做了:1.数据段合并2.数据地址回填3.库引入...
2022-04-02 22:56:04
824
原创 C/C++函数模板的语法
函数模板有两种使用方法:1 .自动类型推导mySwap(a,b);2 . 显示指定类型mySwap<double>(a,b); //指定数据类型是double#include <iostream>using namespace std;//函数模板的语法与定义template<typename T> //告诉编译器,后面有模板不要报错void mySwap(T &a,T &b){ T temp = a; a
2022-04-01 20:45:53
1056
原创 C/c++动态多态
/*1.有继承关系 2.并且子类重写了父类中的虚函数多态:父类指针或引用指向子类中的对象重写:就是子类重写父类虚函数的返回值类型,函数名,函数参数完全相同子类中是否加虚函数 virtual 可写可不写,但是父类中的virtual必须要加上*/#include <iostream>using namespace std;class Base{public: virtual void speak() { cout<<"动物在说话"<.
2022-03-31 23:05:02
548
原创 python中关于argparse解析解
if __name__ == '__main__': # Arguments parsing parser = argparse.ArgumentParser(description='Hypercorrelation Squeeze Pytorch Implementation') parser.add_argument('--datapath', type=str, default='../Datasets_HSN') parser.add_argument('--b.
2022-03-17 15:59:50
1141
原创 常量指针和指针常量
结论:1. const int *p ; //常量指针const修饰 *p(const向右结合,限定了*p),----->则 *p 不能修改,所谓修改的意思是:*p = 32 (错误)2。int * const p;指针常量const修饰 p,(const与p结合,限定了p),则变量p不能修改指向到其它地址,p = &b;(错误)...
2022-01-18 16:08:42
152
原创 OpenCV:img[:]、img[:, :]、img[:, 0]、img[:, 1]、img[:, 2]、img[:, :, 0]、img[:, :, 1]、img[:, :, 2]等的理解
2022-01-18 15:56:55
2439
原创 C/C++实现静态链表
静态链表一般是创建在栈上的,出了栈,就不能访问,所有一般不适用静态链表,动态链表使用的更多//创建链表节点struct LinkNode{ int num;//数据域 struct LinkNode* next;//指针域};void test(){ //创建节点 struct LinkNode node1 = {10,NULL}; struct LinkNode node2 = {20,NULL}; struct L...
2022-01-03 20:30:00
672
原创 C/C++选择排序
#include<iostream>using namespace std;//选择排序void selectSort(int arr[],int len){ for (int i = 0; i < len; i++) { int min = i;//假定刚开始元素下标是最小值下标 for (int j = i+1; j<len;i++) { if (arr[min] > ar...
2022-01-03 13:32:32
449
原创 C/C++插入排序
//主要部分:void insertSort(int arr[],int len){ for (int i = 1; i < len; i++) { if (arr[i-1] > arr[i]) { int temp = arr[i]; int j = i - 1; for (; j >= 0 && temp < arr[j]; ...
2021-12-22 16:11:04
292
原创 结构体要注意的
/* 结构体三种简化的版本 1.typedef是给结构体取别名,可以放在结构体后面struct Person{ char name[64]; int age;};typedef struct Person myperson; //myperson是Person的别名void test01(){ myperson p1 = { "张三",22}; printf("姓名:%s,年龄:%d\n",p1.name,p1.age);}...
2021-11-27 23:26:03
450
原创 python中函数调用
和C++一样,Python中函数的定义必须在调用的前面,但是在函数的内部调用一个函数,不用考虑函数的顺序,只要被调用的函数被定义了即可1.先定义后,后调用为一般方法:def add_test(a,b): return a+breslut = add_test(1,2)print(result)2.可以在函数内部调用后面的函数def add_1(a,b): return add_2(a,b) #函数内部调用add_2def add_2(...
2021-11-16 17:20:23
7554
2
原创 python中如何改变字符串元素方法
在Python中,字符串属于不可变对象,不支持直接修改如果需要修改其中的值,以创建新的字符串,但是,我们确实需要原来修改字符串,可以使用io.StringIO对象或array模块import ios='abcdefg'#被改的字符串sio=io.StringIO(s)#生成一个可变对象sio.seek(6)#到要修改的位置sio.write('hahah')#写要修改的字符sio.getvalue()import ios="hello,world"...
2021-10-29 19:25:13
1717
原创 C语言中void类型
void类型用途: 1.限定函数的返回值 2.限定函数的参数void Test(void)//红色为函数返回值类型,绿色为函数参数类型,表示不传参{} 3.void * 万能指针,不管是几级指针,大小一般默认是4个字节,与平台有关void *p = NULL;int * pInt = NULL;char *pChar = NULL;pChar = (char *)pInt...
2021-10-29 13:33:46
4060
原创 二级指针在堆中的空间结构
在堆中创建的空间如下:malloc(sizeof (int)*4) //如果是整形的空间应该用什么变量来接收呢?int * pArray = malloc(sizeof(int)*4) //用int * 来接收整形的malloc(sizeof (int *)*5) //用二级指针int ** 来接收int** pArray = ma...
2021-10-28 22:47:25
136
原创 python中split()用法
split()方法含义:是将指定字符串按某指定的分隔符进行拆分,拆分将会形成一个字符串的数组并返回。数组中的每元素都各自对应一个索引值,就好比在数据库的表中每行数据纪录都拥有自己的索引ID一样数组元素的索引值是从0开始计数的,也就是说第一个元素的索引值是0,往后依次加1。语法split() 方法语法:str.split(str="", num=string.count(str)).参数str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 n
2021-10-26 11:43:14
27270
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人