首页 > 其他分享 >一些cpp注意事项

一些cpp注意事项

时间:2024-02-05 11:25:28浏览次数:21  
标签:ch const int return Asize 注意事项 cpp 一些 sizeof

array拷贝至vector

int A[] = {1, 2, 3, 4};
int Asize = sizeof(A) / sizeof(int);

vector<int> V(A, A + Asize);

sort()函数中的cmp()

必须遵循 严格弱序

// 升序
bool cmp1(const int &a, const int &b)
{
	return a < b;
}

// 降序
bool cmp2(const int &a, const int &b)
{
	return a > b;
}

// 调用
int A[] = {12, 31, 2, 99, 24};
int Asize = sizeof(A) / sizeof(int);
vector<int> V(A, A + Asize);

sort(A, A + Asize, cmp1);
sort(V.begin(), V.end(), cmp2);
  • 与 \(C\) 中的 \(qsort()\) 比较
// 升序
int cmp3(const void *a, const void *b)
{
	return *(int*)a - *(int*)b;
}

// 降序
int cmp4(const void *a, const void *b)
{
	return *(int*)b - *(int*)a;
}

// 调用
int A[] = {12, 31, 2, 99, 24};
int Asize = sizeof(A) / sizeof(int);

qsort(A, Asize, sizeof(int), cmp3);
qsort(A, Asize, sizeof(int), cmp4);

priority_queue中的cmp()

与 \(sort()\) 正好相反

// 最大堆
struct cmp1
{
	bool operator()(const int &a, const int &b)
	{
		return a < b;
	}
};

// 最小堆
struct cmp2
{
	bool operator()(const int &a, const int &b)
	{
		return a > b;
	}
};

// 调用
int A[] = {12, 31, 2, 99, 24};
priority_queue<int, vector<int>, cmp1> Q1;     // 最大堆
priority_queue<int, vector<int>, cmp2> Q2;     // 最小堆

快速读取

  • 整型
int quickin(void)
{
	int ret = 0;
	char ch;
	bool flag = false;

	ch = getchar();
	while (ch < '0' || ch > '9')
	{
		if (ch == '-')
			flag = true;
		ch = getchar();
	}

	while (ch >= '0' && ch <= '9')
	{
		ret = 10 * ret + ch - '0';
		ch = getchar();
	}

	if (flag)
		ret = -ret;
	
	return ret;
}

标签:ch,const,int,return,Asize,注意事项,cpp,一些,sizeof
From: https://www.cnblogs.com/hoyd/p/18007601

相关文章

  • C#的一些冷知识
    该文章是在学习B站up:十月的寒流的一些教程视频的笔记,推荐直接观看up的视频:C#的一些冷知识C#8.0IndicesandRangesvararr=new[]{1,2,3,4,5};arr[^1]可以表示最后一个元素arr[1..4]C#7.0数字中的下划线分隔符intbinary=0b0000_0000;C#8.0Pattern......
  • 在 Effect 中直接请求数据很容易导致“网络瀑布”。当你渲染父组件时,它会请求一些数据
    在Effect中直接请求数据很容易导致“网络瀑布”。当你渲染父组件时,它会请求一些数据,再渲染子组件,然后重复这样的过程来请求子组件的数据。如果网络不是很快,这将比并行请求所有数据要慢得多。如何理解?在React中,当我们在Effect(例如useEffectHook)中直接请求数据时,如果数据请求......
  • NTFS文件系统支持硬链接和符号链接,这两种链接机制都可以让不同的文件指向同一个物理位
    NTFS文件系统支持硬链接和符号链接,这两种链接机制都可以让不同的文件指向同一个物理位置,从而节省磁盘空间和提高文件系统的效率。虽然它们的用途相似,但是硬链接和符号链接有一些不同之处。硬链接:硬链接(HardLink)是指将多个文件名链接到同一个物理位置的一种机制。它可以让多个文......
  • 在PowerShell中管理Windows映像主要涉及到DISM模块的Cmdlets。这些Cmdlets提供了一系
    在PowerShell中管理Windows映像主要涉及到DISM模块的Cmdlets。这些Cmdlets提供了一系列功能,包括挂载(加载)、卸载(卸下)映像,添加或删除驱动程序,应用更新等。以下是一些常用的Cmdlets和它们的参数,以及相应的实例。常用CmdletsMount-WindowsImage-ImagePath:指定WIM文件的路径。-I......
  • low level 任务中减小网络计算量的一些尝试
    不同于分类、检测等highlevel任务,lowlevel任务往往需要保持图像原始分辨率,比如去噪、增强、HDR等。这样一来,当图像分辨率上来之后(比如现在手机相机主摄主流的分辨率就是4096x3072,远高于分类使用的256x256的尺寸),网络的整体计算量会变得非常恐怖,端侧动不动可能就要上百毫......
  • 使用CAN通信遇到的一些问题汇总
    由于我当时调试的时候,没有多余的板子来做CAN对端。在单端CAN调试发送信息时遇到过下面几种问题:1.CAN_ESR=0x03(ACK错误)2. CAN_ESR=0x04(隐性位错误)3. CAN_ESR=0x05(显性位错误) 后来使用回环测试,进行自发自收,排除程序本身的问题。回环测试的方法有两种,一种是你在配置CAN的......
  • C++之INI配置文件读写/注释库 inicpp 介绍【简单易用-包含inicpp.hpp头文件即可】
    一个头文件(header-file-only)搞定INI文件读写、甚至进行注释。跨平台,并且用法极其简单。MITlicense,从此配置INI文件就像喝水。【注:对您有帮助的话,Star或Issues为项目维护提供动力,感谢。】-byofficalofJN-inicppproject.一、库下载https://github.com/dujingning/inicpp......
  • 一些值得推荐的golang库
    通用工具类增强库:goutil项目地址:https://github.com/gookit/goutil简介:HelperUtils(700+):int,byte,string,array/slice,map,struct,dump,convert/format,error,web/http,cli/flag,OS/ENV,filesystem,system,test/assert,timeandmore.Go常用的一些工具函......
  • dremio 服务暴露的一些端口
    对于运行态的dremio我们可以看到服务开启的监听,同时也可以通过官方提供的配置文件看到dremio协调节点如果协调节点同时是提供执行,会暴露以下端口zk(可能) 如果使用了内嵌zk的2181client-endpoint 31010,主要是老遗留模式的jdbc端口flightserver 目前推荐的jdbc访问协......
  • 一些些数学的算法笔记
    好好好,直接进入正题(首先我们先要讲讲矩阵,矩阵你可以理解成\(n\timesm\)的一个二维数组,我们如下表示它:\[\begin{bmatrix}a_{1,1}&a_{1,2}&\cdots&a_{1,m}\\a_{2,1}&a_{2,2}&\cdots&a_{2,m}\\\vdots&\vdots&\ddots&\vdots\\a_{......