相关疑难解决方法(0)

最终C++书籍指南和列表

这个问题试图收集每年出版的数十本不良C++书籍中的少数珍珠.

与许多其他编程语言不同,这些编程语言经常从互联网上的教程中随处获取,很少有人能够快速学习C++,而无需学习编写精良的C++书籍.这样做太复杂了.事实上,它是如此庞大和复杂,有很多非常糟糕的C++书籍.我们并不是在谈论糟糕的风格,而是体育明显的事实错误促进糟糕的编程风格.

请编辑接受的答案,以提供高质量的书籍和近似的技能水平 - 最好 C++聊天室讨论您的添加.(如果他们不同意建议,常客可能会毫不留情地撤销你的工作.)添加一篇关于你亲自阅读/受益的每本书的简短描述/描述.随意讨论质量,标题等.符合标准的书籍将被添加到列表中.由C和C++用户协会(ACCU)撰写评论的图书都有指向评论的链接.

*注意:常见问题和其他资源可以在C++标签信息.

c++ c++-faq

4246
推荐指数
1
解决办法
224万
查看次数

为什么"while(!feof(file))"总是错的?

我看到人们最近在很多帖子中试图读取这样的文件.

#include <stdio.h>
#include <stdlib.h>

int
main(int argc, char **argv)
{
    char *path = argc > 1 ? argv[1] : "input.txt";

    FILE *fp = fopen(path, "r");
    if( fp == NULL ) {
        perror(path);
        return EXIT_FAILURE;
    }

    while( !feof(fp) ) {  /* THIS IS WRONG */
        /* Read and process data from file… */
    }
    if( fclose(fp) == 0 ) {
        return EXIT_SUCCESS;
    } else {
        perror(path);
        return EXIT_FAILURE;
    }
}
Run Code Online (Sandbox Code Playgroud)

这个__CODE__循环有什么问题?

c file while-loop feof

550
推荐指数
4
解决办法
21万
查看次数

169
推荐指数
6
解决办法
19万
查看次数

"int mask =〜0;"的目的是什么?

我看到下面的代码行这里的C.

 int mask = ~0;
Run Code Online (Sandbox Code Playgroud)

我已经打印了maskC和C++ 的值.它总是打印-1.

所以我确实有一些问题:

  • 为什么~0要为掩码变量赋值?
  • 目的是~0什么?
  • 我们可以用-1而不是~0吗?

c c++ bit-manipulation masking bit-masks

44
推荐指数
4
解决办法
4066
查看次数

在C++中将〜0u赋值给变量是什么意思?

我理解的0u意思是0无符号,但~开头是什么意思?在这种情况下它是表示反转还是其他意思?

c++

28
推荐指数
3
解决办法
3万
查看次数

C按位否定会产生负输出:

我真的很难翻转C int变量中的位.我是这样做的:

input = 15;

input = ~input;

printf("%d", input);
Run Code Online (Sandbox Code Playgroud)

但它总是显示为-16.应该是0!如果15写的是1111,为什么会回来10000?!这令人抓狂!有人能帮帮我吗!?

c bit-manipulation

6
推荐指数
2
解决办法
3万
查看次数

〜对整数值有什么作用?这个操作的用法

我想知道对int值的操作是什么做的.我编码并打印了〜,指定为3,它给了-4.请告诉我它的用法.

c bit-manipulation

0
推荐指数
1
解决办法
169
查看次数