小编L. *_* F.的帖子

为什么"使用命名空间std"被认为是不好的做法?

我已经告诉别人,编写using namespace std;代码是错误的,我应该用std::coutstd::cin直接代替.

为什么被using namespace std;认为是不好的做法?是低效还是冒着声明模糊变量(与名称std空间中的函数具有相同名称的变量)的风险?它会影响性能吗?

c++ namespaces using-directives std c++-faq

2486
推荐指数
36
解决办法
78万
查看次数

什么是移动语义?

我刚刚听完了Scott Meyers关于C++ 0x的软件工程电台播客采访.大多数新功能对我来说都很有意义,我现在对C++ 0x感到兴奋,除了一个.我仍然没有得到移动语义 ......它们究竟是什么?

c++ c++-faq move-semantics c++11

1614
推荐指数
11
解决办法
39万
查看次数

循环中i ++和++ i之间的区别?

是否有差异++i,并i++在一个for循环?它只是一个语法的东西吗?

language-agnostic for-loop pre-increment post-increment

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

指向类数据成员"::*"的指针

我遇到了这个编译好的奇怪的代码片段:

class Car
{
    public:
    int speed;
};

int main()
{
    int Car::*pSpeed = &Car::speed;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么 C++有一个指向类的非静态数据成员的指针?在实际代码中这个奇怪的指针有什么用?

c++ pointers class c++-faq

223
推荐指数
8
解决办法
15万
查看次数

std :: launder的目的是什么?

P0137引入了函数模板, std::launder并在有关联合,生命周期和指针的部分中对标准进行了许多更改.

这篇论文解决了什么问题?我必须注意哪些语言的变化?我们在做什么launder

c++ memory c++-faq c++17 stdlaunder

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

我为什么不#include <bits/stdc ++.h>?

我在我的代码中发布了一个问题,其唯一的#include指令如下:

#include <bits/stdc++.h>
Run Code Online (Sandbox Code Playgroud)

我的老师告诉我这样做,但在评论部分,我被告知我不应该这样做.

为什么?

c++ portability c++-faq turbo-c++ implementation-defined-behavior

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

如何打印(使用cout)数字存储在内存中的方式?

我正在学习关于操作系统的大学课程,我们正在学习如何从二进制转换为十六进制,十进制到十六进制等等.今天我们刚刚学习了如何使用二进制补码(〜数字)将有符号/无符号数存储在内存中+ 1).

我们在纸上做了几个练习,我希望能够在向老师提交作业之前验证我的答案.我为前几个练习编写了一个C++程序,但现在我不知道如何通过以下问题验证我的答案:

char a, b;

short c;
a = -58;
c = -315;

b = a >> 3;
Run Code Online (Sandbox Code Playgroud)

我们需要在内存中显示二进制表示a,bc.

我已经在纸上完成了它,它给了我以下结果(在二进制补码后的数字内存中的所有二进制表示):

a = 00111010(它是一个字符,所以1个字节)

b = 00001000(它是一个字符,所以1个字节)

c = 11111110 11000101(它是一个短的,所以2个字节)

有没有办法验证我的答案?在C++中是否有一种标准方法可以在数字的内存中显示二进制表示,或者我是否必须自己编写每个步骤(计算二进制补码然后转换为二进制)?我知道后者不会花那么长时间,但我很好奇是否有一种标准的方法可以做到这一点.

c++ binary iostream representation std-bitset

194
推荐指数
6
解决办法
25万
查看次数

保持rsync删除未完成的源文件

我有两台机器,速度和质量.speed具有快速的Internet连接,并且正在运行将大量文件下载到磁盘的爬虫.质量有很多磁盘空间.我想在下载完成后将文件从速度移动到质量.理想情况下,我只是运行:

$ rsync --remove-source-files speed:/var/crawldir .
Run Code Online (Sandbox Code Playgroud)

但我担心rsync会取消尚未完成下载的源文件的链接.(我查看了源代码,但我没有看到任何可以防止这种情况的内容.)有什么建议吗?

rsync storage web-crawler

170
推荐指数
2
解决办法
1万
查看次数

C++ 11中的new keyword = default

我不明白为什么我会这样做:

struct S { 
    int a; 
    S(int aa) : a(aa) {} 
    S() = default; 
};
Run Code Online (Sandbox Code Playgroud)

为什么不说:

S() {} // instead of S() = default;
Run Code Online (Sandbox Code Playgroud)

为什么要为此引入一个新关键字?

c++ c++11

121
推荐指数
6
解决办法
5万
查看次数

C++ Filehandling:ios:app和ios之间的区别:吃了吗?

写入文件ios::ateios:app写入文件时有什么区别.
在我看来,ios::app你可以在文件中移动,而ios::ate只能在文件的末尾读/写.它是否正确?

c++ fstream file c++-standard-library

56
推荐指数
4
解决办法
7万
查看次数