小编The*_* do的帖子

C++中的锁和互斥锁

我已经学习了一段时间的C++并且仍然没有遇到可以解释这些野兽是什么的好书?它们是不可或缺的C++功能吗?如果是这样,它们如何仅在诸如BS的C++编程语言这样的书中被提及如果没有,你在哪里可以获得关于它们的可靠信息 - 最好是一本书(不太喜欢网络教程),如何定义它们,如何使用它们等等.感谢您提供宝贵的帮助.

c++ mutex

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

奇怪的声明(模板).C++

我如何理解这里声明的内容:(这是从本论坛的其他帖子中获取的)

template<typename C> static char (&f(ChT<int Fallback::*, &C::x>*))[1];
Run Code Online (Sandbox Code Playgroud)

这是我的阅读方式:

静态函数的模板f调用(ChT<int Fallback::*, &C::x>*),但后来我无法理解为什么有一个地址运算符,为什么有一个数组?

我还在学习如何理解C++声明,所以请慢慢仔细地解释一下.

c++ templates

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

在C++中交换指针的地址

如何在具有签名的函数内交换指针?

让我们说:

int weight, height;
void swap(int* a, int* b);
Run Code Online (Sandbox Code Playgroud)

因此,在退出此函数后,将更改实际参数(weightheight)的地址.有可能吗?

c++ pointers

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

如何正确初始化对象.[C++]

我在之前的一个问题中提到过,我正在阅读Herb Sutter和Andrei Alexandrescu撰写的"C++编码标准"一书.在其中一章中他们说的是这样的:

始终在构造函数体中而不是在初始化列表中执行非托管资源获取,例如其结果未立即传递给智能指针构造函数的新表达式.

这是否意味着我应该使用这种形式的构造(假设data_3_必须用new初始化):

SomeClass(const T& value, const U& value2, const R& value3)
    : data_(value), data_2_(value2)
{
    data_3_ = new value3;
}
Run Code Online (Sandbox Code Playgroud)

代替:

SomeClass(const T& value, const U& value2, const R& value3)
    : data_(value), data_2_(value2), data_3_(new value3)
    // here data_3_ is initialized in ctor initialization list
    // as far as I understand that incorrect way according to authors
{
}  
Run Code Online (Sandbox Code Playgroud)

提前致谢.

PS如果这就是他们的意思,为什么他们使用术语非托管资源获取?我一直认为这些资源是"手动管理"的?

PS 2.我很抱歉,如果这篇文章中有任何格式问题 - 我不得不承认 - 我绝对讨厌在这个论坛上格式化的方式.

c++ initialization

5
推荐指数
3
解决办法
2622
查看次数

如何用 QTextEdit 结束行

我正在尝试QTextEdit使用一些文本创建,在此文本中我有行尾字符 ( \n),但它在QTextEdit对象中不被接受(整个文本显示时没有任何中断)。有什么理由吗?

c++ qt qt4

5
推荐指数
1
解决办法
9319
查看次数

我们从Object继承吗?

伙计们我们从Object继承而不是从任何其他类继承(当然除了我们不必明确说明)或者对Object类有一些特殊的权限而且它不会像其他类那样继承吗?

java inheritance

5
推荐指数
2
解决办法
3783
查看次数

如何使用boost :: unit_test?

我正在尝试学习如何测试程序,所以我尝试了Boost.我开始阅读它,在这里我遇到了这一行:

现在我可以编译它并与单元测试框架链接.
从哪里以及如何获得单元测试框架?它是什么?
我只是不知道吃什么.有人可以提供一些步骤如何使用它或者可能指向其他一些教程,其中甚至最简单的事情,如单元测试框架和如何链接它将被解释.
谢谢

c++ boost unit-testing

5
推荐指数
1
解决办法
783
查看次数

SFINAE的问题

为什么这个代码(M类中的fnc值)不能通过SFINAE规则解决?我收到一个错误:

Error   1   error C2039: 'type' : is not a member of
                                   'std::tr1::enable_if<_Test,_Type>'  
Run Code Online (Sandbox Code Playgroud)

当然类型不是成员,它没有在enable_if的这个通用版本中定义,但是如果bool为真,并且如果它是假的则不实例化那么这不是fnc的这个版本背后的全部想法吗?可以请有人向我解释一下吗?

#include <iostream>
#include <type_traits>

using namespace std;

template <class Ex> struct Null;
template <class Ex> struct Throw;

template <template <class> class Policy> struct IsThrow;

template <> struct IsThrow<Null> {
    enum {value = 0};
};

template <> struct IsThrow<Throw> {
    enum {value = 1};
};

template <template <class> class Derived>
struct PolicyBase {
    enum {value = IsThrow<Derived>::value};
};

template<class Ex>
struct Null : PolicyBase<Null> { };

template<class …
Run Code Online (Sandbox Code Playgroud)

c++ templates sfinae

5
推荐指数
1
解决办法
848
查看次数

numeric_limits有问题

为什么这不起作用?

enum : long {MaxValue = std::numeric_limits<long int>::max()};
Run Code Online (Sandbox Code Playgroud)

我收到错误:错误1错误C2057:预期的常量表达式
什么不恒定呢?编译时已知long int的限制,那么问题是什么?

c++ numeric

5
推荐指数
1
解决办法
1120
查看次数

如何进行正确的尺寸检查?

有四个vars:

short mantissa,  
exponent,  
base;  
long double factor;
Run Code Online (Sandbox Code Playgroud)

我该如何检查这三个组成部分中的每一个以确保结果符合要素?或者可以将其作为用户责任,以确保提供的数据有意义?

c++

5
推荐指数
1
解决办法
89
查看次数