[C++基础] tips
1. 在g++ 中使支持C++11
https://askubuntu.com/questions/773283/how-do-i-use-c11-with-g
This you can do by using the -std=c++11 flag. Here's an example:
g++ -std=c++ -Wall -Wextra -Werror main.cpp -o main
This mode can be selected with the -std=c++11 command-line flag, or -std=gnu++11 to enable GNU extensions as well.(source)
See the explanation of the other flags below. I deeply believe that using at least those error flags will make your life easier in the long run. Once you have better knowledge of what your script does, you can omit warnings if needed to achieve a result but it should not be the standard. Hope this helps you. Here's a good place to start reading.
-Wall— enables all major warnings.-Wextra— enables other important warnings.-Werror— make all warnings into errors, causing compilations to fail if any warnings are reported.
2. ios_base::sync_with_stdio(false)
决定C++标准streams(cin,cout,cerr...)是否与相应的C标准程序库文件(stdin,stdout,stderr)同步,也就是是否使用相同的stream缓冲区,缺省情况是同步的,但由于同步会带来某些不必要的负担,因此该函数作用就是我们自己可以取消同步 std::ios::sync_with_stdio(false);
注意:必须在任何io操作之前取消同步
函数返回前一次被调用的参数值,如果未被调用过,返回true,反映标准stream的默认的值
3. cin.tie(NULL)
在默认的情况下cin绑定的是cout,每次执行 << 操作符的时候都要调用flush,这样会增加IO负担。可以通过tie(0)(0表示NULL)来解除cin与cout的绑定,进一步加快执行效率。
4. C++删除标点符号和空格的函数
s.erase(remove_if (s.begin(), s.end(), static_cast<int(*)(int)>(&ispunct) ), s.end()); s.erase(remove_if(s.begin(), s.end(), static_cast<int(*)(int)>(&isspace) ), s.end());
[C++基础] tips的更多相关文章
- 小tips:在JS语句执行机制涉及的一种基础类型Completion
看一个如下的例子.在函数 foo 中,使用了一组 try 语句.在 try 中有 return 语句,finally 中的内容还会执行吗? function foo(){ try{ return 0; ...
- 【机器学习基础】关于深度学习的Tips
继续回到神经网络章节,上次只对模型进行了简要的介绍,以及做了一个Hello World的练习,这节主要是对当我们结果不好时具体该去做些什么呢?本节就总结一些在深度学习中一些基本的解决问题的办法. 为什 ...
- 2000条你应知的WPF小姿势 基础篇<74-77 WPF 多窗口Tips>
在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000ThingsYou Should Know About C# 和 2,00 ...
- spark 基础开发 Tips总结
本篇博客主要是 sparksql 从初始开发注意的一些基本点以及力所能及的可优化部分的介绍: 所使用spark版本:2.0.0 scala版本:2.11.8 1. SparkSession ...
- MATLAB基础知识tips
网络论坛资源: MATLAB中文论坛https://i.cnblogs.com/EditPosts.aspx?opt=1 circshift 移位函数,circshift(A,SHIFTSIZE).S ...
- .NET基础拾遗(3)字符串、集合和流
Index: (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基础 ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...
- EF是啥?【What is Entity Framework?】(EF基础系列2)
EF产生的背景: 编写ADO.NET访问数据的代码,是沉闷而枯燥的,所以微软提供了一个对象关系映射框架(我们称之为EF),通过EF可以自动帮助我们的程序自动生成相关数据库. Writing and m ...
- 妙味课堂——HTML+CSS基础笔记
妙味课堂的课程讲得非常的清楚,受益匪浅.先把HTML和CSS基础课程部分视频的学习笔记记录如下: padding #PS基础 ##前端需要的PS技能 - PS技能(前端需要):切图.修图.测量 - P ...
随机推荐
- Java Activiti 工作流引擎 springmvc SSM 流程审批 后台框架源码
1.模型管理 :web在线流程设计器.预览流程xml.导出xml.部署流程 2.流程管理 :导入导出流程资源文件.查看流程图.根据流程实例反射出流程模型.激活挂起 3.运行中流程:查看流程信息.当前任 ...
- web前端时间戳转时间类型显示
1.jsp头部加:<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> ...
- Linux-- 查看文件 cat/tac
cat 查看文件 用法:cat 文件名 1.显示非空白行行号 -b 2.显示所有行号 -n 3.将[Tab]按键以 ^T 显示出来 -T 4.显示出特殊字符 -V 5.将结尾的断行字符$显示出来 -E ...
- angular的生命周期
什么是生命周期 生命周期函数通俗的讲就是组件创建.组件更新.组件销毁的时候会触发的一系列的方法. 当 Angular 使用构造函数新建一个组件或指令后,就会按下面的顺序在特定时刻调用这些 生命周期钩子 ...
- #leetcode刷题之路16-最接近的三数之和
给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯一答案. 例如,给定数 ...
- shell习题第5题:批量更改文件后缀名
[题目要求] 找到123/目录下所有后缀名为.txt的文件 1. 批量修改.txt为.txt.bak 2. 把所有.bak文件打包压缩为123.tar.gz 3. 批量还原文件的名字,即把增加的.ba ...
- 偏前端 + rsa加解密 + jsencrypt.min.js--(新增超长字符分段加解密)
<html> <head> <title>JavaScript RSA Encryption</title> <meta charset=&quo ...
- 关于UIScrollView无限循环滑动
在使用某宝或某东购物的时候,我们会在其首页看到一个可以滑动的版块,这个版块的实现就是一个UIScrollView.在我们使用UIScrollView的时候会发现,滑动到最后的时候,UIScrollVi ...
- kbmMW功能 - kbmMWProcess单元(转帖)
此贴为转发红鱼儿的文章,原贴地址: https://www.cnblogs.com/kinglandsoft/p/kbmmw-features-5-kbmmwprocess-unit.html 在新的 ...
- PL/SQL轻量版(二)——基本语法
一.流程控制 1.条件判断 语法: IF <布尔表达式> THEN PL/SQL 和 SQL语句 END IF; IF <布尔表达式> THEN PL/SQL 和 SQL语句 ...