const

【C语言】23-typedef

久未见 提交于 2020-04-07 07:32:26
一、typedef作用简介 * 我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)。 1 #include <stdio.h> 2 3 typedef int Integer; 4 typedef unsigned int UInterger; 5 6 typedef float Float; 7 8 int main(int argc, const char * argv[]) { 9 Integer i = -10; 10 UInterger ui = 11; 11 12 Float f = 12.39f; 13 14 printf("%d %d %.2f", i, ui, f); 15 16 return 0; 17 } 在第3、第4、第6行分别给int、unsigned int、float起了个别名,然后在main函数中使用别名定义变量,用来跟原来的基本类型是完全一样的。输出结果: 当然,给类型起别名后,原来的int、float还是可以正常使用的: int i = 10; float f = 10.0f; * 也可以在别名的基础上再起一个别名 typedef int Integer; typedef Integer MyInteger; 二、typedef与指针 除开可以给基本数据类型起别名,typedef也可以给指针起别名 1 #include

NOIp 2018 前的图论板子总结

∥☆過路亽.° 提交于 2020-04-07 07:25:05
存图 存边 直接开一个结构体数组存边 struct Edge { int begin, end, weight; } edge[10010]; int edge_count; inline void AddEdge(const int &u, const int &v, const int &w) { edge[edge_count++] = Edge {u, v, w}; } 应用: Kruskal's algorithm Adjacency matrix 用二维数组 adj[i][j] 表示 \(i\) 与 \(j\) 的关系 int adj[1010][1010]; #define ADD_EDGE(u, v, w) adj[u][v] = w 应用: Floyd-Warshall algorithm Hangarian algorithm Kuhn-Munkres algorithm Adjacency list 有几种形式, 以 adj[i] 表示以 \(i\) 为开头的边 应用: 各种图论算法 vector 优点: 访问方便, 存图方便 缺点: 消耗空间, 容易 \(MLE\) ; 删边速度慢 struct Edge { int destination, weight; }; std::vector<Edge> adj[1010]; 加边 #define ADD

骚猪队的模板

南笙酒味 提交于 2020-04-07 07:23:32
Cww97 Code Library 2017.07.05 East China Normal University Chen WeiWen - Software Engineering Cao ZhiJie - Computer Science Zhu XuLiang - Mathematics 常用STL map的Upperbound map<int,int>::iterator se = mp.upper_bound(mid); 返回迭代器 优先队列 priority_queue<int>Q;//采用默认优先级构造队列 priority_queue<int,vector<int>,cmp1>que1;//最小值优先 priority_queue<int,vector<int>,cmp2>que2;//最大值优先 Q.push(x); int x = Q.top(); Q.pop(); multiset begin() 返回指向第一个元素的迭代器 clear() 清除所有元素 count() 返回某个值元素的个数 empty() 如果集合为空,返回 true end() 返回指向最后一个元素的迭代器 erase() 删除集合中的元素 ( 参数是一个元素值,或者迭代器) find() 返回一个指向被查找到元素的迭代器 insert() 在集合中插入元素 size()

Is it possible to match against the result of a `const fn`?

ぃ、小莉子 提交于 2020-04-07 05:07:46
问题 I've tried the naive approach fn main() -> Result<(), Box<std::error::Error>> { let num = 0; match num { u64::max_value() => println!("Is u64::max_value()"), _ => println!("Is boring") } Ok(()) } but it fails with expected tuple struct/variant, found method <u64>::max_value . Is there another syntax except n if n == u64::max_value() => ... which can I use? 回答1: The left part of => must be a pattern, and few expressions are also valid patterns. A call-expression is not a valid pattern. Named

如何避免 async/await 地狱

戏子无情 提交于 2020-04-07 02:39:07
async/await 让我们摆脱了回调地狱,但是这又引入了 async/await 地狱的问题。 什么是 async/await 地狱 在 Javascript 中进行异步编程的时候,人们总是使用很多 await 语句,很多时候我们的语句并不需要依赖于之前的语句,这样就会导致性能问题。 async/await 地狱的例子 我们试着写一个购买披萨和饮料的程序: (async () => { const pizzaData = await getPizzaData() // async call const drinkData = await getDrinkData() // async call const chosenPizza = choosePizza() // sync call const chosenDrink = chooseDrink() // sync call await addPizzaToCart(chosenPizza) // async call await addDrinkToCart(chosenDrink) // async call orderItems() // async call })() 这段代码运行没有问题。但是不是一个好的实现,因为这增加了不必要的等待。 说明 我们已经将我们的代码封装在异步 IIFE 中,按照下面的顺序执行:

AtCoder Beginner Contest 151 *F - Enclose All* (最小圆覆盖)

孤人 提交于 2020-04-06 23:53:22
AtCoder Beginner Contest 151 - F - Enclose All (最小圆覆盖) Problem Statement Given are NN points (xi,yi)(xi,yi) in a two-dimensional plane. Find the minimum radius of a circle such that all the points are inside or on it. Constraints 2≤N≤502≤N≤50 0≤xi≤10000≤xi≤1000 0≤yi≤10000≤yi≤1000 The given NN points are all different. The values in input are all integers. Input Input is given from Standard Input in the following format: NN x1x1 y1y1 :: xNxN yNyN Output Print the minimum radius of a circle such that all the NN points are inside or on it. Your output will be considered correct if the absolute or

题型——构造题

﹥>﹥吖頭↗ 提交于 2020-04-06 22:42:06
cf 483C 第一个数设为a[1]=1,后一个数a[2]=a[1]+k,a[3]=a[2]-(k-1),a[4]=a[3]+(k-2),依次构造下去,剩下的数让他们按从小到大依个排下去,不会增加 distinct elements的个数 #include <bits/stdc++.h> #define mp make_pair using namespace std; typedef long long ll; const int maxn = (1<<21)+100; const int INF = 0x3f3f3f3f; const int mod = 998244353; inline int read(){int s=0,w=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();} while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar(); return s*w;} ll qpow(ll p,ll q){return (q&1?p:1)*(q?qpow(p*p%mod,q/2):1)%mod;} int n,m,f,k,i; int main() { n=read(),m=read(); f=k=1; for (i=m;i>=1;i--)

换个语言学一下 Golang (4)——变量与常量

天涯浪子 提交于 2020-04-06 20:32:33
一、变量定义 所谓的变量就是一个拥有指定 名称 和 类型 的 数据存储位置 。 //看一个例子 package main import ( "fmt" ) func main() { var x string = "hello world" fmt.Println(x) } View Code 变量的定义首先使用var关键字,然后指定变量的名称x,再指定变量的类型string,在本例中,还对变量x进行了赋值,然后在命令行输出该变量。Go这种变量定义的方式和其他的语言有些不同,但是在使用的过程中,你会逐渐喜欢的。当然上面的变量定义方式还可以如下,即先定义变量,再赋值。 var x string x = "hello world" 或者是直接赋值,让Go语言推断变量的类型。如下: var x = "hello world" 当然,上面变量的定义还有一种 快捷方式 。如果你知道变量的初始值,完全可以像下面这样定义变量,完全让 Go来推断语言的类型 。这种定义的方式连关键字 var 都省略掉了。 x := "hello world" 注意:上面这种使用 := 方式定义变量的方式 只能用在函数内部 。 package main import ( "fmt" ) x:="hello world" func main() { y := 10 fmt.Println(x) fmt.Println

const int *,const int * const和int const *有什么区别?

≡放荡痞女 提交于 2020-04-06 20:31:30
问题: I always mess up how to use const int* , const int * const , and int const * correctly. 我总是搞砸了如何正确使用 const int* , const int * const 和 int const * 。 Is there a set of rules defining what you can and cannot do? 是否有一组规则定义您可以做什么和不能做什么? I want to know all the do's and all don'ts in terms of assignments, passing to the functions, etc. 我想知道在分配,传递给函数等方面所有需要做的事情。 解决方案: 参考一: https://stackoom.com/question/4nPi/const-int-const-int-const和int-const-有什么区别 参考二: https://oldbug.net/q/4nPi/What-is-the-difference-between-const-int-const-int-const-and-int-const 来源: oschina 链接: https://my.oschina.net/stackoom

前端图片上传那些事儿

寵の児 提交于 2020-04-06 18:25:18
本文讲的图片上传,主要是针对上传头像的。大家都知道,上传头像一般都会分成以下 4 个步骤: 选择图片 -> 预览图片 -> 裁剪图片 -> 上传图片 接下来,就详细的介绍每个步骤具体实现。 选择图片 选择图片有什么好讲的呢?不就一个 input[type=file] ,然后点击就可以了吗?确实是这样的,但是,我们想要做得更加的友好一些,比如需要过滤掉非图片文件, 或只允许从摄像头拍照获取图片等,还是需要进行一些简单配置的。 下面就先来看看最简单的选择图片: <input type="file" /> 这时候,点击这个 input , 在 iOS 手机的显示如下: 其中的 “浏览” 选项,可以查看到非图片类型的文件,这并不是我们想要的结果,毕竟我们只想要图片类型。可以通过 accept 属性来实现,如下: <input type="file" accept="image/*"> 这样就可以过滤掉非图片类型了。但是图片的类型可能也太多了, 有些可能服务器不支持,所以,如果想保守一些,只允许 jpg 和 png 类型,可以写成这样: <input type="file" accept="image/jpg, image/jpeg, image/png"> 或: <input type="file" accept=".jpg, .jpeg, .png"> OK, 过滤非图片的需求搞定了