C/C++
憨憨coding
It's a new day.
展开
-
【图形学/CG/Loop 细分/ Loop Subdivision】Loop Subdivision for GAMES 101 Final Project
Loop Subdivisionfor GAMES 101 Final Projectbuilt on May 4th,2020前言在作业中,我们实现了 displacement 贴图以改变对象的几何形状并添加令人 惊叹的表面细节。但是,为了捕获更加精细的细节,我们需要具有非常小且多的三 角形网格。为了解决这个问题,我们可以使用动态的细分方法。根据 displacement 贴图指定的信息,仅在需要时才将大的多边形细分。之后,将动态细分的网格发 送到图形管道中。在此项目中,你可以在 CPU 中把需原创 2020-12-22 17:21:13 · 1106 阅读 · 2 评论 -
Xcode修改编译路径(解决一个target下编译不同main文件)
有时候我们想在同一个target下编译不同文件,如图:解决方法:在这里修改编译源即可。原创 2020-09-25 13:35:32 · 625 阅读 · 0 评论 -
mac添加bits/stdc.h后依然无法找到头文件
本来mac已经配置好了clang++并且添加了头文件,但是今天使用时候突然发现头文件红线了。于是点击红线旁边的小灯泡看一下cpp文件配置,如图:发现头文件路径被修改为xcode内,然而系统的开发者路径是/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include修改路径就解决了。其实如果不进行ios/macos开发的话,xcode没什么作用,又大又占空间。删掉xcode系统寻路默认回到了原始开发者路径,不必编写c_cpp_原创 2020-07-24 14:25:17 · 672 阅读 · 0 评论 -
vscode报错:preLaunchTask g++build active file
今天美滋滋的刷了个题,F5一编译结果出现:于是回想c++插件最近更新了,是不是需要重新配置json文件,看网友们解决也是修改json文件,一顿操作之后仍然无法成功运行,无意间运行别的cpp文件,成功运行!??难不成是代码的问题吧,后来修改文件名、头文件都依然报错,突然发现:修改为5k*5k,运行成功!之前对数组大小没概念,实际上,仅仅对于char类型,50000*50000/1024/1024/1024=2GB多!静态区无法接受!长记性了,不要总给环境甩锅。。。...原创 2020-05-23 15:18:04 · 3217 阅读 · 0 评论 -
makefile快速入门
传送门转载 2020-05-11 13:43:33 · 181 阅读 · 0 评论 -
【C】指针必须初始化吗?
定义一个指针可以不用初始化,但是在使用指针时一定要确定它是否被初始化即是否指向了某一个确定的可访问的内存位置。如:int* p;//定义一个整型指针此时可以不初始化,但它的指向是不确定的可能指向了系统中某一重要的内存位置。int a;p=&a;//将p指向变量a,此时p的指向是确定的当对p进行解引用时如*p=20此时就要看看p的指向是否已确定。由于上面我们将p指向了a变量所在内存位...原创 2020-04-26 00:30:55 · 6257 阅读 · 0 评论 -
【C++11】当auto碰上vector
for (auto i : num)//这里不使用引用,值不变{i *= i;cout << i << " ";}for (auto &i : num)//使用引用本来的值改变{i *= i;cout << i << " ";}原创 2020-04-19 15:16:52 · 3104 阅读 · 0 评论 -
int、long、long long 的存储空间和值的范围
传送门转载 2020-04-08 22:11:40 · 1830 阅读 · 0 评论 -
【STL】set操作
STL中的set容器的一点总结STL常见坑——访问set中最后一个元素原创 2020-04-08 19:41:07 · 112 阅读 · 0 评论 -
【STL】求无序数组第K大之nth_element方法
调用:nth_element(a,a+k,a+n);返回值:无返回值。功能:函数只是把下标为k的元素放在了正确位置,对其它元素并没有排序当然k左边元素都小于等于它,右边元素都大于等于它,所以可以利用这个函数快速定位某个元素。那求第k大时呢?我们可以转化成求第n-k+1小,此时下标应该是n - k,也可以定义比较函数,具体看下面示例。举例:nth_element(a,a+2,a+9),将下标...原创 2020-03-30 22:15:19 · 214 阅读 · 0 评论 -
【STL】lower_bound()和upper_bound()
头文件:algorithm对象:有序数组或容器(有序!)返回值:迭代器(指向元素的指针)lower_bound()返回值是一个迭代器,返回指向大于等于key的第一个值的位置upper_bound()函数返回大于key的第一个值的位置换句话说:lower的意义是对于给定的已经排好序的a,key最早能插入到的那个位置upper的意义是对于给定的已经排好序的a,key最晚能插入到的那个位置...原创 2020-03-29 17:02:18 · 147 阅读 · 0 评论 -
【C++】几种流类函数的使用
getline(cin,s,’?’)//输入get?line() //输出get//第三参数默认为 '\n'#include<iostream>#include<string>using namespace std; int main(){ string line; getline(cin,line,'?'); cout<<lin...原创 2020-03-20 20:55:52 · 246 阅读 · 0 评论 -
C/C++去除行末空格
for(int i = 0;i < n;i++){ if(i == 0){ cout << a[i]; } else{ cout << " " << a[i]; }}或for(int i = 0;i < n;i++){ if(i == 0){ printf("%d"...原创 2020-02-28 20:49:41 · 5060 阅读 · 0 评论 -
C++ cout输出保留小数
#include <iostream>#include<iomanip>using namespace std; int main() { //需要头文件#include <iomanip> double a=46.21534,b=1.20001; cout.setf(ios::fixed); ...原创 2020-02-28 20:52:31 · 1590 阅读 · 0 评论 -
STL传递深层构造
今天在做题时候发现这个问题,即调用STL的方法时候若传入某些结构,他是深拷贝还是浅拷贝?(也有人管他叫深复制、深构造),网上没有解释(我甚至不知道关键词怎么搜索),于是自己做实验发现是深拷贝。代码如下:struct node { int x; int y;}s[10];int main() { s[1].x = 0; s[1].y = 0; vector<node> ...原创 2020-02-29 18:53:52 · 102 阅读 · 0 评论 -
【STL】vector中begin(),end()和front(),back()的区别
废话不多说,看代码:#include <iostream>#include <vector>using namespace std;int main(){vector<char> v1;vector<char>::iterator iter1;vector<char>::iterator iter2;v1.push_ba...原创 2020-03-07 14:32:20 · 306 阅读 · 0 评论 -
C/C++中代码段运行时间/程序运行时间
include<iostream> #include<ctime> using namespace std; int main() { clock_t startTime,endTime; for (int i = 0; i < 2147483640; i++) { i++; } startT...原创 2020-03-14 11:46:32 · 158 阅读 · 0 评论 -
【C 字符串处理】格式化输入输出
常见格式串:%% 印出百分比符号,不转换。%c 整数转成对应的 ASCII 字元。%d 整数转成十进位。%f 倍精确度数字转成浮点数。%o 整数转成八进位。%s 整数转成字符串。%x 整数转成小写十六进位。%X 整数转成大写十六进位。%n sscanf(str, “%d%n”, &dig, &n),%n表示一共转换了多少位的字符sprintf函数sprin...原创 2020-03-20 20:42:53 · 257 阅读 · 0 评论