tips

本文分享了C++编程中的实用技巧,包括万能头文件的使用、避免命名冲突、位运算正确应用、调试注意事项、二进制运算、STL集合操作及字符串处理等,同时提醒开发者注意常见错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发现了c++万能头文件#include<bits/stdc++.h>

添加使用方法

 

血与泪的经验!!!不要把全局变量命名成start ,end ,_start,_end也不行!!!

 

位运算

 

 <<和>>并不是赋值,不要记混,只是返回运算结果,如+和-   实现改变一个数移位要 b<<=1;不要b<<1; 

 

DEV C++  

不要在源文件名字里加 ' 会导致不能调试断点,也许中文和特殊符号也会导致这个问题,路径最好也是使用纯英文路径

 

二进制运算

将二进制数中的某一位取反的方法

 

Set

set集合自带 set_union(ALL(x1), ALL(x2), INS(x));取交集操作

和set_intersection(ALL(x1), ALL(x2), INS(x))取并集操作

其中的ALL(x),INS(x)通常都是方便调用取的宏

#define ALL(x) x.begin(),x.end()
#define INS(x) inserter(x,x.begin())    

//其中的 inserter顾名思义,是一个插入迭代器,可以对所有的stl结构做insert操作,该函数在头文件<iterator>中

 //有关三类迭代器,更多可以见https://blog.youkuaiyun.com/yangshun2008/article/details/7942544

意思是将x1集合中所有的元素与x2集合中所有的元素取并集/交集 然后将结果插入到x集合的开头(x集合一般是新创建的空集合)

 

set集合的  settemp.count(key)函数是通过key来查找value 如果该集合中存在这个key返回1,否则返回0;

  

string

 

sring中自带的对字符串操作的函数可以互相配合使用,它们的参数中总是会 “位置” 这个参数是从0开始数起的,还会有“个数”这个参数,是从1开始数起

 

     string str1( "Heterological paradoxes are persistent." );
 
     basic_string< char >str2=str1.substr(6,7);
  例如substr这里边的6就是代表从Heterological paradoxes are persistent.的H为0数起,到序号6的‘l’作为开始,而7为个数是从1开始数起,即‘l’为第一个。
其他的 像find_first_of(),find()大多都是这样
 
  邻接表
可以用set<int> g[maxn]来实现
 

转载于:https://www.cnblogs.com/worldcreator-zh/p/10695891.html

<think>嗯,用户这次的问题很明确:想找与“tips软件”或“小工具”相关的实用工具推荐。从对话历史看,用户之前询问过获取技巧的方法,现在聚焦在具体工具上,说明ta可能正在寻找能提高效率的实用软件。 用户提供的四个引用虽然内容零散,但透露出关键线索:ta关注的工具类型主要是科研辅助(文献管理)、开发工具(前端IDE)、系统工具(Linux录屏)和设计工具(PCB设计)。这些领域跨度较大,说明用户可能是多场景使用者,或是想全面了解各类效率工具。 特别注意到用户强调“参考站内引用”,但引用内容与当前问题关联度不高。Zotero和WebStorm这些案例更多是示意,需要跳出引用范围给出更系统的推荐。不过从引用[3][4]能看出用户对Linux和设计工具有兴趣,可以强化这两类推荐。 用户用“tips软件”这个关键词有点模糊,可能指:1)专门提供技巧的软件 2)自带技巧提示的功能型工具 3)提升操作效率的小工具。结合上下文,第三种解释最合理,所以重点推荐效率工具而非教学软件。 在推荐策略上要把握三点:一是覆盖用户暗示的多个专业领域(科研/开发/设计),二是突出“小工具”的轻量化特性,三是强调免费或开源选项——因为引用[1]提到Zotero时特别赞赏其免费开源。 最后生成的三个相关问题都围绕工具选择技巧,这样既能延续对话,又符合用户爱研究工具的性格(从ta查文献管理、前端开发等专业工具可看出)。</think>基于您对效率工具的需求,结合不同场景推荐以下实用工具,并附使用技巧: --- ### 📚 文献管理工具 1. **Zotero** - **核心功能**:自动捕获网页文献信息,一键生成参考文献 - **技巧**: - 用浏览器插件直接保存论文/网页[^1] - 安装`Zotfile`插件管理PDF批注 - 链接云盘突破300MB存储限制 - **适用人群**:学生/科研工作者 --- ### 💻 开发工具 2. **WebStorm** - **优势**:开箱即用的前端开发环境 - **技巧**: - `Ctrl+鼠标悬停`实时查看CSS值 - `Alt+Enter`快速修复ESLint错误[^2] - 内置HTTP调试客户端测试API - **适用场景**:JavaScript/TypeScript项目 3. **Byzanz**(Linux动态录屏) - **特色**:生成轻量GIF教程 - **技巧**: ```bash # 录制10秒动态操作(含5秒延迟) byzanz-record -d 10 --delay=5 -c ~/demo.gif ``` - 配合`xwininfo`获取窗口坐标[^3] --- ### 🎨 设计辅助工具 4. **Altium Designer**(PCB设计) - **高效操作**: - `Shift+Ctrl+G`:全局栅格设置 - `Ctrl+M`:实时测量距离[^4] - 规则设置:线路宽度范围调为10-100mil避免布线错误 --- ### 🧰 其他效率神器 | 工具类型 | 推荐工具 | 核心价值 | |----------------|----------------|-----------------------------| | 多平台剪贴板 | Ditto | 历史记录+跨设备同步 | | 快速启动器 | Wox+Everything | 文件秒搜/快捷命令执行 | | 截图标注 | Snipaste | 贴图功能+高级标注工具 | --- ### 💎 选择建议 ```mermaid graph LR A[需求场景] --> B{工具推荐} B -->|文献管理| C[Zotero+插件] B -->|前端开发| D[WebStorm] B -->|Linux录屏| E[Byzanz] B -->|硬件设计| F[Altium Designer] B -->|通用效率| G[Ditto/Snipaste] ``` > 提示:专业工具如Zotero、Altium Designer需针对性学习快捷键,初期投入时间可提升长期效率[^1][^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值