这个问题试图收集每年出版的数十本不良C++书籍中的少数珍珠.
与许多其他编程语言不同,这些编程语言经常从互联网上的教程中随处获取,很少有人能够快速学习C++,而无需学习编写精良的C++书籍.这样做太复杂了.事实上,它是如此庞大和复杂,有很多非常糟糕的C++书籍.我们并不是在谈论糟糕的风格,而是体育明显的事实错误和促进糟糕的编程风格.
请编辑接受的答案,以提供高质量的书籍和近似的技能水平 - 最好 在 C++聊天室讨论您的添加后.(如果他们不同意建议,常客可能会毫不留情地撤销你的工作.)添加一篇关于你亲自阅读/受益的每本书的简短描述/描述.随意讨论质量,标题等.符合标准的书籍将被添加到列表中.由C和C++用户协会(ACCU)撰写评论的图书都有指向评论的链接.
*注意:常见问题和其他资源可以在C++标签信息和c ++ - faq中找到.
这个问题试图收集社区维护的关于c编程语言的优质书籍清单,目标是各种技能水平.
C是一种复杂的编程语言,通过阅读在线教程很难在旅途中学习.综合性书籍通常是学习语言的最佳方式,找到一本好书是第一步.重要的是要避免写得不好的书籍,更重要的是要避免包含严重技术错误的书籍.
请建议编辑接受的答案,以添加高质量的书籍,具有近似的技能水平和每本书的简短描述/描述.(请注意,问题已被锁定,因此不会接受新的答案.列表中会保留一个答案)
随意讨论书籍选择,质量,标题,摘要,技能水平以及您认为错误的任何其他内容.C社区认为令人满意的书籍将列在名单上; 其余的将定期删除.
对于由C和C++用户协会(ACCU)进行评论的书籍,应该与书籍一起添加指向这些评论的链接.
也可以看看:
这个问题在Meta上作为2018年删除问题审计的一部分进行了讨论.
达成共识的目的是保持其未被删除和积极维护.
我有一个本地文件夹,我用作多个小样本和玩具代码的便笺簿.我在这个目录中存储了一大堆python,C++,shell脚本等.
我正在使用Visual Studio Code(在OS X上)并且正在研究其运行/编译代码片段的任务,而无需切换到终端.
例如,我发现以下任务将在当前打开的文件上运行python.
// A task runner that runs a python program
{
"version": "0.1.0",
"command": "/usr/bin/python",
"args": ["${file}"]
}
Run Code Online (Sandbox Code Playgroud)
此任务将使用python作为任务运行器,而不管我当前正在编辑的文件类型.
如何实现基于文件类型运行命令的任务(或在多个命令之间进行选择)?即如果我正在编辑C++文件,它将运行clang ++.
我试图在我的c ++代码中包含头文件位/ stdc ++,但似乎编译器不支持它,有没有办法让它工作?
我使用OS X Yosemite 10.10.2和Xcode 6.1.1
我正在使用 VSCode,并且代码使用 .run 扩展名编译得很好,但 C/C++ 扩展名向我抛出此错误并下划线#include <iostream>作为错误。是的,我的系统中安装了 MinGW。
此外,我在 Visual Studio Community 2019 上遇到了同样的错误,它根本不在那里执行。
系统:Windows 10 版本 10.0.19042 内部版本 19042
VSCode 版本:1.54.1
海湾合作委员会版本:8.1.0
Visual Studio社区版本:16.8.5(只是用它来检查问题是由于VSCode还是系统错误)
显示错误的扩展:C/C++ for Visual Studio Code v1.2.2
我用来运行代码的扩展:Code Runner v0.11.3
我目前正在使用https://marketplace.visualstudio.com/items?itemName=mitaki28.vscode-clang,它非常适合访问成员函数.
但是我对我正在导入的项目有一个问题.虽然上面的clang功能有效,但我在使用include目录时遇到了特殊问题.我的项目结构如下:
|- src/
|- main.cpp
|- include/
|- MyHelper.h
|- CMakeLists.txt
Run Code Online (Sandbox Code Playgroud)
有没有办法在Visual Studio代码中配置我的包含目录,这样main.cpp我就可以:
#include "MyHelper.h"而不是#include "include/MyHelper.h"?
在编辑器中,它突出显示我的include语句,说它无法找到该文件.虽然编辑器不是一个大问题(我的项目编译),后续问题是vscode-clang插件不起作用,因为它没有看到该文件.
也许甚至让它在编辑器中使用我的CMakeLists.txt中的配置进行必要的包含?
谢谢!
我最近开始为Arduino开发。最初,我使用Arduino IDE,但很快就意识到它没有达到标准。由于不时需要重新启动IDE,因此开发速度大大降低。我找到了我喜欢的Arduino扩展与VS Code。但是我有几个问题,我不确定如何解决。
首先,vs代码引发#include错误,并要求我更新IntelliSense。但是,它可以构建/上载并完美运行,还可以找到在include中定义的类等,因此在某种程度上看起来像是误报(例如,路径包含在includePath设置中)。读取错误消息还表明,查找在Arduino.h中引用的名为“ avr / pgmspace.h”的标头存在问题。我不确定这些错误是否相关。pgmspace.h在任何地方都找不到(它应该已经包含在Arduino SDK中)。
最后,由于#include错误,与该特定头文件有关的所有内容均不会正确突出显示,而只是纯灰色文本,这有点令人讨厌。
有人知道如何解决这个问题吗?我在Mac上。
这个问题:Visual Studio Code includePath显示了如何修改 Visual Studio 代码的全局 includePath 以更改 VSCode 查找头文件的位置。我想更改 includePath,但只是针对单个项目,而不是所有项目。有没有办法更改仅适用于单个项目的包含路径?
所以我已经完成了在 Linux 的 Windows 子系统中编译的所有设置,一切都工作正常。我正在 VS Code 中编写代码,但它无法识别“pico/stdlib.h”等标头。代码编译并工作正常,但最好能正确设置代码,这样我就可以获得自动填充功能等。
如何将 SDK 库与 VS Code 正确链接?
谢谢!
我正在尝试cmake使用 Windows 10 进行设置MinGW。我已将路径包含c:/MinGW/bin在系统路径和环境路径设置中。我已经sh.exe从我的道路上移除了(虽然,如果可能的话,我希望能够保留它)。
CMakeLists.txt
cmake_minimum_required(VERSION 3.8)
set(CMAKE_C_COMPILER "C:/MinGW/bin/gcc.exe")
set(CMAKE_CXX_COMPILER "C:/MinGW/bin/gcc.exe")
project (Tutorial)
add_executable(Tutorial tutorial.cpp)
Run Code Online (Sandbox Code Playgroud)
输出
C:\School\athabascua\data structures\ass1>cmake -g "MinGW Makefiles" .
-- The C compiler identification is GNU 5.3.0
-- The CXX compiler identification is GNU 5.3.0
-- Check for working C compiler: C:/MinGW/bin/gcc.exe
CMake Error: Generator: execution of make failed. Make command was: "nmake" "/NOLOGO" "cmTC_b3144\fast"
-- Check for working C compiler: C:/MinGW/bin/gcc.exe -- broken
CMake Error at C:/Program Files/CMake/share/cmake-3.8/Modules/CMakeTestCCompiler.cmake:51 …Run Code Online (Sandbox Code Playgroud) c++ ×5
c ×2
mingw ×2
arduino ×1
arduino-uno ×1
c++-faq ×1
cmake ×1
include ×1
include-path ×1
macos ×1
makefile ×1
vscode-tasks ×1
xcode ×1