前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++笔记

C++笔记

作者头像
yifei_
发布2022-11-14 14:17:40
5180
发布2022-11-14 14:17:40
举报
文章被收录于专栏:yifei的专栏

bits/stdc++|limits.h|strncasecmp|文件重定向|vector初始化|const在函数名后面| struct_class|内联函数与宏定义|vector的capacity

头文件集合

里面包含了常用头文件,可以在linux的该目录下查看此文件:/usr/include/x86_64-linux-gnu/c++/7/bits/

代码语言:javascript
复制
#include <bits/stdc++.h>

limits.h

各种数据的范围,常用的有以下几个:

代码语言:javascript
复制
#  define INT_MIN	(-INT_MAX - 1)
#  define INT_MAX	2147483647

/* Minimum and maximum values a `signed long int' can hold.  */
#  if __WORDSIZE == 64
#   define LONG_MAX	9223372036854775807L
#  else
#   define LONG_MAX	2147483647L
#  endif
#  define LONG_MIN	(-LONG_MAX - 1L)

strncasecmp

比较字符串时忽略大小写

代码语言:javascript
复制
相关函数:bcmp, memcmp, strcmp, strcoll, strncmp
表头文件:#include <strings.h>
函数定义:int strncasecmp(const char *s1, const char *s2, size_t n)
函数说明:strncasecmp()用来比较参数s1和s2字符串前n个字符,比较时会自动忽略大小写的差异。

文件重定向

代码语言:javascript
复制
test <datain.txt>dataout.txt

使用数组初始化vector

代码语言:javascript
复制
int a[10];
vector v1(begin(a),begin(a)+10);

使用”范围for”遍历二维数组

代码语言:javascript
复制

int a[20][20]={0};
for(auto &row:a){
	for(auto col:row){
		cout<<col<<" ";
	}
	cout<<endl;
}

const在函数名后面

表示该函数是常成员函数. 要访问常量成员只能用常成员函数.

struct & class

C++ primer::”使用class和struct定义类的唯一区别就是默认的访问权限”;

代码语言:javascript
复制
struct node{
	int a;
	public:
		void getA(){return a;}
		void setA(int t){a=t;}
};
class node{
	int a;
	public:
		void getA(){return a;}
		void setA(int t){a=t;}
};
//第一个的a默认public,第二个的a默认private.

内联函数与宏定义的区别

两者都会将代码在相应位置展开,但是 宏定义会在所有地方将其进行替换,不进行类型检查等操作,只是死板的替换. 内联函数的本质还是函数,会有类型语法的检查,然后在调用的地方进行展开.并且如果函数太复杂,编译器就会将其当成普通函数处理.

vector的capacity

代码语言:javascript
复制
在使用push_back()不断地往vector中添加数据时,由于vector刚开始分配的内存并没有这么大,所以随着数据不断增多,可能会重新分配空间,然后把源数据拷贝过去.所以如果知道数据的个数,可以先使用reserve()函数分配足够空间.
ps: ivec.reserve(1e9);

欢迎与我分享你的看法。 转载请注明出处:http://taowusheng.cn/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 头文件集合
  • limits.h
  • strncasecmp
  • 文件重定向
  • 使用数组初始化vector
  • 使用”范围for”遍历二维数组
  • const在函数名后面
  • struct & class
  • 内联函数与宏定义的区别
  • vector的capacity
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档