首页 > 其他分享 >常见误区

常见误区

时间:2023-02-12 21:36:33浏览次数:45  
标签:语言 常见 编译器 误区 常数 优化 cout

前言

目前 OI 界有许多谣言,有些很扯淡但是有人信。。。

所以我想写一篇博客来纠正一部分。

如果我的观点也有错误,请指正;也欢迎补充一下。

可能更好的阅读体验?

正文

语言本身

  • 关于 C++ 是弱类型语言还是强类型语言,网上说法颇多。武断的说是强类型语言是不合适的。

卡常

  • register 其实没有什么用,目前已经被移除。值得一提的是,即使写了 register 也不一定会放在寄存器内。不要认为你比编译器聪明,编译器比你更懂优化。
  • 无谓的位运算也完全没有意义。例如,在快读中的 x*10+c-'0',如果写成 (x<<3)+(x<<1)+(c^'0') 几乎完全没有优化,甚至有时会负优化。不要认为你比编译器聪明,编译器比你更懂优化。
  • inline 其实也没很大作用。写上 inline 准确的说,只是你建议编译器内联,而非要求。编译器可以选择不鸟你。而且,如果你对一个巨大长的函数内联,反而会有负优化。

库函数和 STL 误区

  • pow/sqrt/exp/log 等函数是理论 \(O(1)\) 的,只是常数比较大。
  • memsetstrlen 等是小常数 \(O(n)\),非必要慎用。
  • stack/queue 内部实际是依靠 deque 实现的,空间常数其实很大。
  • 不要神秘地鄙视 cin/cout,关同步流后 cin/cout 速度和 scanf/printf 是一个量级的。

杂项

  • #define int long long 有说法认为是 ub。不过无论如何,这样会拉大空间时间的常数,风险较大。

标签:语言,常见,编译器,误区,常数,优化,cout
From: https://www.cnblogs.com/Syara/p/17114727.html

相关文章

  • 面试常见问题
    先自我介绍一下面试官好,我是×××。我认为我具备以下优势:第一,我曾在×××公司实习,以及在×××公司做了一段时间兼职,因此我具备良好的沟通能力和工作技能。第二,我在谷......
  • C语言学习:几个常见的内存操作函数
     #include<io_utils.h>#include<string.h>#include<stdlib.h>intmain(){//memchr()//strchr()//memcmp()//strcmp()//memset()char*mem......
  • 前端开发常见应用场景,如何判断是否存在内存泄漏?
    前端项目查看是否有内存泄漏的情况在项目运行中,有时会遇到这样的问题,项目运行时间长了,速度就越来越慢,最后导致页面崩溃。这个时候就需要查看是否有内存泄漏的情况了。怎......
  • 常见算法实现
    数据结构(DataStructure)人总对有规律的数据处理更得心应手,同样计算机对有规律的数据处理也更加方便(计算机语言毕竟是人写的嘛)。为了处理不同的问题的数据,我们可以通......
  • x86 常见调用约定(cdecl,fastcall,stdcall) & x86和ARM调用约定的栈帧分析 & ARM ATPC
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......
  • 小程序开发常见问题
    1、域名必须是https非https的域名不被微信小程序允许2、input组件placeholder字体颜色卸载placeholder-class里面的color并不生效,需要写在placeholder-style里面就可以......
  • 【大型软件开发】浅谈大型Qt软件开发(四)动态链接库的宏冲突问题、COM组件开发的常见问
    最近工作的时候有一个链接库的对接工作,在对接时发生了一些小问题,这篇FAQ是办公室写这个库的工程师戴工写的,这里记录一下:一、编译工程时报链接错误“不允许dllimport静态数......
  • 设计数据库中常见的规范
    命名规范数据库表名,字段名,索引名等都要命名规范,可读性高表名,字段名必须使用小写字母或者数字,禁止使用数字开头,禁止使用拼音,一般还不使用英文缩写主键索引名为​​pk_字段名......
  • 直播预告 | 如何用数字化搞定连锁门店这些常见痛点
    提升业绩、降低成本、提升服务、降低内损……这些都是决定门店能不能提升盈利的要点,也是连锁门店运营中的难点。那么,我们如何借助数字化手段,解决这些难点呢?1、客流统计+智慧......
  • docker-compose 常见配置参数
    docker-compose编撰规范:https://docs.docker.com/compose/compose-file/cpus已经弃用mem_limit已经弃用1、限制系统资源文档地址:https://docs.docker.com/compo......