小编Dan*_*n O的帖子

为什么标准C++库中没有int int(int base,int exponent)?

我觉得我必须无法找到它.有什么理由说c ++ pow函数没有为浮点数和双精度数以外的任何东西实现"幂"函数吗?

我知道实现是微不足道的,我只是觉得我正在做一个应该在标准库中的工作.强大的幂函数(即以某种一致,明确的方式处理溢出)编写起来并不好玩.

c++ math integer standard-library pow

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

在Qt Creator中使用静态库

我有一段时间寻找文档,清楚地解释了如何在Qt Creator中使用静态库.

我使用Qt Creator创建并编译了我的静态库(New => Projects\C++ Library => Set type to"Statically Linked Library").它编译并吐出一个".a文件".

我遇到的问题是当我尝试使用该库时.我有另一个想要使用它的项目(库中的#include文件等),但我不知道链接库或包含库中文件的正确方法.

c++ linker static-libraries qt-creator

35
推荐指数
4
解决办法
9万
查看次数

最佳实践:我应该在C或C++中为byte创建typedef吗?

你喜欢看t_byte*(像typedef unsigned char t_byte)或unsigned char*代码吗?

我倾向于t_byte我自己的图书馆,但从未参与过采用这种方法的大型项目,我对这些陷阱感到疑惑.

c c++ pointers typedef

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

在QT Creator中构建时强制重新链接

问候,

我有一个子项目,它包含了几个库和一个主应用程序.当我在其中一个库中更改某些内容时,主应用程序不会与它们重新链接.当使用QT Creator时,是否有人有一个技巧可以让应用程序自动重新链接其静态链接的库?

-Dan O.

c++ linker qt static-libraries qt-creator

18
推荐指数
1
解决办法
4890
查看次数

从子目录pro文件中持久保存.pro文件的变量

问候,

我有一个.pro文件,看起来像:

TEMPLATE = subdirs
SUBDIRS = foo bar
Run Code Online (Sandbox Code Playgroud)

我想在我的子目录.pro文件中设置一个变量,或定义,或者可以在foo和bar .pro文件中读取的东西.

我试图用以下方法设置一个环境变量:

export TEST=something
Run Code Online (Sandbox Code Playgroud)

但是这不起作用,message($$(TEST))总是不显示任何内容(如TEST未设置).

qt qmake environment-variables

13
推荐指数
2
解决办法
4468
查看次数

在qt中清除/重置模型(删除所有行)

我很困惑重置或清除数据的正确方法是QAbstractItemModel什么?.

我正在编写一个应用程序,用户可以使用一组新数据(空或小)"重新开始".

我应该在用户提出此请求时删除旧模型吗?或者我应该单独留下模型并删除所有行?

此致,Dan O.

c++ model-view-controller qt design-patterns

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

在QTreeView中更容易找到QModelIndex的(可视)位置

我有兴趣计算一个节点的物理位置,QTreeView但是找不到这样做的方法(除了自己计算它,考虑到鲁棒性,这很麻烦且容易出错QTreeView).

有没有一种标准方法可以找到与a相关的数据的绘制位置QModelIndex(类似于将indexAt()位置映射到a的方式QModelIndex)?

c++ model-view-controller qt qtreeview qmodelindex

9
推荐指数
1
解决办法
3202
查看次数

制作QToolBar的"可检查"QToolButtons的最佳方法,其中一次只能检查其中一个按钮?

我想制作一个带有一些动作的QToolBar,每个动作都是"可检查的"(也就是说,我在创建它之后对每个动作调用setCheckable(true),这使得按钮在点击后处于关闭状态).

我可以想到"取消选中"其他按钮的唯一方法是挂钩每个按钮的触发信号,并在选中给定按钮时取消选中其他按钮.

有没有更好的办法?

c++ qt qt4 qtoolbar

9
推荐指数
1
解决办法
5614
查看次数

Visual Studio 2010在调用msbuild之前做了什么?

我遇到的问题是Visual Studio没有调用msbuild来实际构建我的解决方案.从命令行调用msbuild会导致正确的构建,但在Visual Studio中,启动构建会产生"一切都是最新的"消息.手动编译.cpp文件似乎部分或完全解决了问题.

重启VS2010无法解决问题,因此我觉得VS2010必须在某处编写自己的依赖信息.依赖性信息我指的是实际需要构建的文件,AKA自上次成功构建以来哪些文件已被更改.

VS2010在调用msbuild之前是否执行自己的依赖性检查?它在哪里存储这些信息?

c++ msbuild visual-studio-2010

7
推荐指数
1
解决办法
324
查看次数

是否有一个好的/广泛采用的c ++模板编码约定/标准?

我喜欢编码标准.在编写C++时,我喜欢编码标准.一个好的编码标准为语言添加了上下文,使得难以解析更容易.

我认为每个人至少都熟悉一些常用的标准:

  • 成员变量前缀为'm'或'm_'
  • 类前缀(通常是项目特定的,即在Qt中所有类名称都以'Q'为前缀)
  • 包括保护惯例,例如"将文件名全部包含,替换'.' 用'_'"
  • 三个规则

有很多像这样的小C++规则.不幸的是,我从未设法找到与模板相关的指南.我认为模板参数最流行的名称是'T',但它没有意义,除非模板很明显,否则它会使代码更难读.

无论如何,我遇到的核心问题是模板难以阅读,我认为可以使用一些约定来使它们更容易阅读.有没有人知道一个广泛应用的约定,使模板化的代码更容易阅读?

c++ templates coding-style

3
推荐指数
1
解决办法
3681
查看次数

在c ++类中进行指针数学运算:它是"合法的"吗?

阿海,海,

我想知道是否可以做以下事情:

class SomeClass
{
   int bar;
};

SomeClass* foo = new SomeClass();
int offset = &(foo->bar) - foo;

SomeClass* another = new SomeClass();
*(another+offset) = 3; // try to set bar to 3
Run Code Online (Sandbox Code Playgroud)

只是好奇,Dan O.

c++ pointers class pointer-arithmetic

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