- 博客(23)
- 收藏
- 关注
原创 《两个礼拜入门opengl -Day5》 着色器
着色器着色器(Shader)是运行在GPU上的小程序这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说,着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序,因为它们之间不能相互通信;它们之间唯一的沟通只有通过输入和输出。着色器语言着色器是使用一种叫GLSL的类C语言写成的。...
2021-10-31 12:08:54
139
原创 《两个礼拜入门opengl -Day2》如何绘制一个三角形
先记住几个名词顶点数组对象:Vertex Array Object,VAO顶点缓冲对象:Vertex Buffer Object,VBO索引缓冲对象:Element Buffer Object,EBO或Index Buffer Object,IBO一些概念上的点OpenGL里面
2021-10-28 02:04:20
170
原创 《两个礼拜入门opengl -Day1》opengl初步了解
综下所述:学习理念OpenGL作为实现工具,支撑核心是计算机图形学。对计算机图形学的理解,决定OpenGL能玩到什么程度。至于OpenGL本身,一般是GPU厂商提供,理解接口设计的哲学与如何使用即可。所以今后学习方式应为:基本OpenGL的认识,基本操作,内容构成。令人头秃的计算机图形学知识。学习计划整理一遍对OpenGL的大致了解(2021/10/21-已完成)梳理OpenGL本身的结构(2021/10/22)github上的入门教程(10/25~11/06)实现一个小东西(
2021-10-21 00:22:27
414
原创 《数据结构》排序与选择算法篇 简易笔记
排序与算法简单排序算法(O(n^2))冒泡排序算法原理:step1: 比较[0] [1]的 大小,交换位置,此时[0][1]排序完毕step2: 比较[0] [1] [2] 的大小,交换位置, 此时 [0][1][2]排序完毕…C实现:/* 参数 a[]:待排序数组, l:left,排序起始 r:right 排序末尾 */void sort(Item a[], int l, int r){ for(int i = l + 1; i <= r; i++) for(int
2021-10-02 22:05:10
113
原创 Shell编程笔记(此项学习暂时中断,后续视需求补充更新)
shell手册man cmdman命令用来访问存储在linux系统上的手册页面。该手册可以查询命令的描述、参数用法等。比如:man lsls -als -Als --author 可知等用法基本shell命令文件系统命令功能部分参数作用pwdshell会话的绝对文件路径/usr/binls列表命令。列出目录、文件(默认当前路径,也可指定路径)touch创建文件touch filecp复制文件-i 询问是否覆盖已有文件l
2021-09-29 23:49:10
99
原创 《图解算法》简易笔记
数组、链表特性数组链表内存连续非连续访问可随机访问(通过下标索引)只能遍历访问增删改查内容固定,移动麻烦内存可申请,节点变换容易队列、栈队列 先进先出栈 先进后出选择排序原理:新建同等size缓存,一个个将数据按大小一个放入新缓存当中源数据:src:【7】【12】【6】【9】【8】des:【】【】【】【】【】Step1:src:【7】【】【6】【9】【8】des:【12】【】【】【】【】Step2:src:【7】【】【6】【】
2021-09-29 23:38:26
70
原创 Linux多线程编程API笔记,梳理查阅
简述多线程线程是允许应用程序并发执行多个任务的一种机制。Pthread数据类型数据类型描述phtread_t线程IDpthread_mutex_t互斥对象pthread_mutexattr_t互斥属性对象pthread_cond_t条件变量pthread_condattr_t条件变量的属性对象pthread_key_t线程特有数据的键pthread_once_t一次性初始化控制上下文pthread_attr_t线程的属
2021-09-28 23:03:10
96
原创 Git CMD/QA
CMD本地建仓本地仓提交远程本地新建分支切换分支基于当前代码新建分支提交本地分支至远程克隆远程仓库至本地git强制提交本地分支覆盖远程git push origin 分支名 --forcegit status -s(查看文件文件状态)conflictmergeQA:...
2021-09-16 18:37:48
110
原创 C++ vector简单使用
模板类vector详细介绍在计算中,vector(矢量)对应数组。在数学中,可以使用N个分量来表示N维数学矢量,因此就从这方面讲,数学矢量类似一个N维数组。然而数学矢量还有一些计算机矢量不具备的其他特征,如内乘积和外乘积。计算矢量存储了一组可随机访问的值。头文件 #include <vector>操作创建 vector<type>在这里插入代码片...
2021-09-14 21:25:49
160
原创 C++ string
构造函数NBTS:null-byte-temnated string的缩写,表示以空字符结束的字符串------传统的C字符串构造函数描述string(const char* s)将string对象初始化为s指向的NBTSstring(size_type n, char c)创建一个包含n个元素的string对象,其中每个元素都被初始化为字符串cstring(const string &str)将一个string对象初始化为string对象str(复制构造函
2021-09-13 18:42:21
253
原创 C++ cout格式化输出、cin、简单文件I/O
《C++ primer plus》摘抄总结,方便查阅回忆cincin >> (抽取方式,只提取一般输入)检查输入的方法介绍:不同版本的抽取运算符查看输入流的方法是相同的。它们跳过空白(空格、换行符和制表符),直到遇到非空白字符。在单字符模式下,>>运算符将读取该字符,将它放置到指定的位置。在其他模式下,>>运算符将读取一个指定类型的数据。也就是说,它读取从非空白字符开始,到与目标类型不匹配的第一个字符之间的全部内容。输入单字符输入(1)成员函数:
2021-09-07 21:54:18
674
原创 C++ 类型转换运算符
前言描述在C语言中,类型转换,可以直接使用(type)进行类型转换。variable = (type) variable;在C++看来,C语言中的类型转换运算符太过松散,对于这种松散的情况,C++采取的措施是,更严格地限制允许的类型转换,并添加4个类型转换运算符,使转换过程更规范:dynamic_castconst_caststatic_castreinterpret_cast可以根据目的选择一个适合的运算符,而不是使用通用的类型转换。这指出了进行类型转换的原因,并让编译器
2021-09-06 21:45:24
128
原创 C++ 类模板
全文为个人理解总结用《C++ primer plus》14章 类模板概念有点理解不来。梳理一遍。核心要义:模板,是为了满足重用代码的需求。(比如一套代码,多种数据类型皆可使用。)百度百科:泛型即是指具有在多种数据类型上皆可操作的含义,与模板有些相似。语法类模板的声明和定义一个普通的Stack类(栈类)Stack.htypedef unsigned long Item;class Stack{private: enum {MAX = 10}; Item item[
2021-09-06 00:23:10
93
原创 C语言 一个 long long 数字转 char 字符串的算法
工作需要,但是C语言标准库里没有这个,所以自己实现。后续可以做成查询表的形式,并且加入参数 str_size;有空再来更新,先做个记录void lltos(char *str, long long int lli){ str[20] = '\0'; str[19] = lli% 10 / 1 + 48; str[18] = lli% 100 / 10 + 48; str[17] = lli% 1000 / 100 + 48;
2021-08-30 20:57:18
2431
1
原创 C++ 复制构造函数和赋值运算符
C++会自动提供的成员函数(如果没有定义)默认构造函数默认析构函数复制构造函数赋值运算符地址运算符这些默认函数均为空函数,运算符复制构造函数复制构造函数用于将一个对象复制到新创建的对象中。类的复制构造函数原型通常如下:Class_name(const Class_name &);它接受一个指向类对象的常量引用作为参数。...
2021-08-29 01:00:47
572
原创 C++ 奇奇怪怪的bug记录
编程奥义:即便是new出来的内存,最好也是要清空一下。bug1:描述:《c++ primer plus》12章练习2自定义类,并且重载 + 运算 String s1(" and I am a C++ student."); String s2 = "Please enter your name: "; String s3; cout << s2; cin >> s3; s2 = "My name is " + s3;
2021-08-26 23:52:24
288
原创 C++ 转换函数(类与数值之间的转换)
类的自动转换将构造函数作为自动类型转换。只有接收一个参数的构造函数才能作为转换函数。explicit 关闭隐式自动转换,只允许显示自动转换class class_x = (class )y;class class_x = class (y);自动转换使用:类 = (类类型)值类的强制类型转换转换函数必须是类方法转换函数不能指定返回类型转换函数不能有参数原型示例: operator typename( );operator double( );double x = cla
2021-08-19 22:41:39
199
原创 C++运算符重载
运算符重载要重载运算符,需使用被称为运算符函数的特殊函数形式。运算符函数的格式如下:示例解析operatorop(argument-list)operator + 运算符 + (参数列表)operator+( )重载+运算符operator*( )重载*运算符operator-( )重载-运算符重载限制:op必须是有效的C++运算符,不能虚构一个新的符号。重载后的运算符必须至少有一个操作数是用户定义的类型,这将防止用户为标准类型重载运算符。(
2021-08-19 22:16:08
121
原创 C++ 类的简单定义、实现、使用
定义类privat 私有成员,只允许通过共有成员进行访问public 共有成员,外部接口若未标明,则默认为私有成员stock.hclass Stock{private:public:}stock.cpp实现类构造函数 析构函数对象的两种初始化方式在这里插入代码片...
2021-08-10 22:03:03
340
原创 C++ 名称空间
(一)名称空间先上定义使用不同厂商提供的类库时,可能导致名称冲突。名称空间是为解决名称冲突而提供的特性。举个例子,有如下两个头文件:Jack.h#ifndef JACK_H_#defineextern double pail;extern void fetch();extern int pal;struct Well{ .... ...};#endifJill.hextern double bucket(double n);extern double fetc
2021-08-08 17:44:56
81
原创 C++ 函数重载(多态)、函数模板
内容均出自《C++ primer plus》,本文仅为个人理解总结所用。若有不明欢迎站内私信交流。若发现文中错漏之处,期待不吝赐教站内私信。(一)函数重载(多态)先上定义:C++ Premer Plus (page276)函数多态是C++在C语言的基础上新增的功能。术语"多态":指的是有多种形式。术语"函数重载":指的是可以有多个同名函数,因此对名称进行了重载。两个术语是同一回事,但通常使用函数重载。函数多态(函数重载)让程序能够使用多个同名的函数。实例理解:同名函数,.
2021-08-07 19:56:24
682
原创 C++ 零碎笔记
cout 输出八进制、十进制、十六进制//可以分别使用下列代码 指定输出数值进制类型//制定后固定不变,需要再次指定复原cout << oct;cout << dec;cout << hex;cout 设置输出精度//float默认显示六位小数cout.setf(ios_base::fixed, ios_base::floatfield)//复原cout.setf(ios_base::fixed, ios_base::fixed)...
2021-08-06 22:15:39
121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人