Skip to content

如何找到问题的答案

我们希望所有同学先尝试自己寻找问题的答案,然后再向他人求助。应该怎么自己找到问题的答案?针对本课程,我们试图给出几条简单可行的方法:

动手试一试

我们推荐大家,在遇到问题的时候自己去尝试,理解问题的原因,或者找到相关的规律。对于类似“可不可以在C++里干啥干啥”的问题,我们推荐大家先自己动手试一试--因为答案就在那里。当然,如果你乐意的话,可以通过下面的手段深究原因。

查找语言参考

对于我们这门课程,你可以在 cppreference 查找 C++ 和 C 标准,不用担心看不明白,里面有充足的例子可供参考。

编译器文档也是常用的选择,典型的例子比如微软的文档:C++ docs - get started, tutorials, reference。但要注意,这些编译器相关的文档中经常含有“编译器方言”,可能削弱代码的可移植性。我们建议把 cppreference 作为首选语言参考。

使用搜索引擎

(以下内容改编自孙远航的Mac教程)

使用搜索引擎,其实就三步:

  1. 选择一个合格的引擎
  2. 尽量准确描述想了解的问题
  3. 筛选答案

一. 选择搜索引擎

目前推荐的搜索引擎有谷歌必应。请尽可能不要使用百度搜索,我们见过太多太多被不合格信息误导的例子。

对于搜索引擎的广告,谷歌和必应的广告质量尚可,甚至有时候有用,但是仍要防范被误导。我们推荐安装网页去广告插件,会提高搜索体验。

二. 描述问题

推荐使用英文描述问题,因为文档、各大论坛和官方支持的首选语言一般是英文。不必担心英文不够地道,搜索引擎对各种意思相近的表述有优化,只要表达出相近的意思,就可以得到想要的结果

描述问题的原则是,而是给出足够关键词。比如说,我想知道波黑的总统是谁,我可以这样搜索:Bosnia and Herzegovina president。搜索引擎会立刻给出答案:Incumbent Milorad Dodik Šefik Džaferović Željko Komšić since 20 November 2018

对于报错信息,搜索时加上错误码或者错误信息是很好的选择,因为这些问题通常已经有人遇到并解决。

三. 筛选答案和高级搜索

通常来说,(合格的)搜索引擎给出的结果越靠前,网站的可信度越高。可以在搜索引擎界面一次性打开多个4-5个搜索结果,从上到下查看是否能解决问题。

一般来说,网站可信度的排名如下

🥳官方文档和论坛
😎Stack Overflowstackexchange等带有答案投票的专业网站,或者 Reddit 等讨论性质的论坛
😀不知名的网站和个人博客
😢内容农场(搬运并机器翻译大量内容并集合在一起,常见命名为小x知识网、某某百科网)
😭蹭关键词但是没有内容的网站(如阿里云腾讯云的某些网站,罄竹难书)

近些年内容农场和蹭关键词的网站通过欺骗在搜索引擎获得了比较高的结果位次。可以积累一些常见内容农场的名字,不去点击,或者使用ublocklisk等插件屏蔽这些网站的结果。

高级搜索适用于寻找某些带有特定特征的网站。通常来说,引擎首页可以找到“高级搜索”选项,也可以在搜索框内使用语法进行搜索。我常用的高级搜索语法就是 site: 指定结果来源网站。

详细语法这里不赘述,可以参考https://support.google.com/websearch/answer/2466433?hl=en。

参考相关教程

首页 | 谷雨同学的 C++ 教程可供参考。

问问 ChatGPT ?

作为收集整理资料的工具,ChatGPT 和新必应等语言大模型有时可以帮大家节省查找资料的时间。但是我们推荐,只在时间非常紧迫,或者完全不知道应该查找什么资料的情况下使用这些工具。一方面,收集信息是必备技能,对于很多 AI 不能发挥作用的场景,这种技能十分重要;另一方面,目前的 AI 大模型本质上还是“鹦鹉学舌”的语言模型,不具有严格意义上的逻辑和思维,很有可能会提供错误的信息--这会浪费你的时间,与节省时间的初衷相违背。