Questions tagged «c++»

C ++是一种通用编程语言。它最初被设计为C的扩展,并且具有类似的语法,但是现在它是一种完全不同的语言。使用此标记可解决有关将要使用C ++编译器编译的代码的问题。对于与特定标准修订版[C ++ 11],[C ++ 14],[C ++ 17]或[C ++ 20]等相关的问题,请使用特定于版本的标记。

11
按返回类型重载
我在这里读了一些关于此主题的问题,这似乎令我感到困惑。我刚刚开始学习C ++,还没有研究模板或运算符重载等。 现在有一种简单的过载方法 class My { public: int get(int); char get(int); } 没有模板或奇怪的行为?还是我应该 class My { public: int get_int(int); char get_char(int); } ?
80 c++  overloading 


6
在“ if”语句中初始化变量
我读到在C ++ 17中我们可以在这样的if语句中初始化变量 if (int length = 2; length == 2) //execute something 代替 int length = 2; if (length == 2) //do something 即使它更短,它也会影响代码的可读性(特别是对于不了解此新功能的人而言),我认为这对于大型软件开发而言是一种不良的编码实践。 除了使代码更短之外,使用此功能还有什么好处?
80 c++  c++17 

6
std :: vector :: resize()与std :: vector :: reserve()
在这篇文章的评论部分有一个关于使用std::vector::reserve()vs的主题。std::vector::resize()。 这是原始代码: void MyClass::my_method() { my_member.reserve(n_dim); for(int k = 0 ; k < n_dim ; k++ ) my_member[k] = k ; } 我相信要在中编写元素vector,正确的做法是调用std::vector::resize()而不是std::vector::reserve()。 实际上,以下测试代码在VS2010 SP1的调试版本中“崩溃”: #include <vector> using namespace std; int main() { vector<int> v; v.reserve(10); v[5] = 2; return 0; } 我是对还是错?VS2010 SP1是正确的还是错误的?
80 c++  stl  vector 

10
不使用gluSphere()在OpenGL中绘制Sphere?
是否有任何教程可以解释如何无需使用OpenGL在OpenGL中绘制球体gluSphere()? OpenGL的许多3D教程都在立方体上。我已经搜索过,但是大多数使用绘制球体的解决方案都可以使用gluSphere()。还有具有代码在绘制球体网站这个网站,但它并不能解释背后绘制球体数学。我还有其他版本的方法,如何在该链接中以多边形而不是四边形绘制球体。但是同样,我不明白如何用代码绘制球体。我希望能够进行可视化,以便在需要时可以修改球体。
80 c++  opengl  geometry 


5
C ++库的目录结构
我正在使用C ++库。最终,我想将其与一些示例和Python绑定一起公开提供给多个平台(至少是Linux和Windows)。工作进展顺利,但目前该项目非常混乱,仅针对Visual C ++内置且仅针对Visual C ++构建,而根本没有多平台。 因此,我觉得清理工作井井有条。我要改进的第一件事是项目的目录结构。我想创建一个适用于Automake工具的结构,以允许在多个平台上轻松编译,但是我以前从未使用过它们。由于我仍将在Visual Studio中进行(大部分)编码,因此,我需要在某个地方保留Visual Studio项目和解决方案文件。 我试图用谷歌搜索“ C ++库目录结构”之类的术语,但似乎没什么有用的。我找到了一些非常基本的准则,但没有明确的解决方案。 在查看一些开源库时,我想到了以下内容: \mylib \mylib <source files, read somewhere to avoid 'src' directory> \include? or just mix .cpp and .h \bin <compiled examples, where to put the sources?> \python <Python bindings stuff> \lib <compiled library> \projects <VC++ project files, .sln …

5
如何对对象使用优先级队列STL?
class Person { public: int age; }; 我想将Person类的对象存储在优先级队列中。 priority_queue< Person, vector<Person>, ??? > 我认为我需要为比较对象定义一个类,但是我不确定。 而且,当我们写的时候 priority_queue< int, vector<int>, greater<int> > 大工作如何进行?
80 c++  stl 


5
QVector vs QList
我有一个需要迭代的整数列表,但数组不足。之间有什么区别vectors和lists,是有什么我需要知道我挑式前? 为了清楚起见,我已经阅读了QT文档,但这是我所了解的程度: QList<T>,QLinkedList<T>和QVector<T>提供类似的功能。概述如下: 在大多数情况下,使用的QList是正确的类。它的基于索引的API比QLinkedList's基于迭代器的API更方便,并且QVector由于其将项目存储在内存中的方式,因此它通常更快。它还扩展为可执行文件中的代码更少。 如果您需要一个真正的链表,并且可以保证在列表中间不断插入时间,并且可以迭代项而不是索引,请使用QLinkedList。 如果您希望这些项目占据相邻的存储位置,请使用QVector。
80 c++  qt  list  vector 

3
什么是次正规浮点数?
isnormal()参考页告诉您: 确定给定的浮点数arg是否正常,即既不是零,次正规,无穷也不是NaN。 一个数字为零,无穷大或NaN很清楚这意味着什么。但这也说不合正常。什么时候是次正规的?

4
C ++ 0x和C ++ 11有什么区别?
我在SO上看到这两个术语的混合用法。 维基百科说 C ++ 11,以前也称为C ++ 0x ... 但我不确定为什么。 为什么先叫C ++ 0x,然后叫C ++ 11? 另外,x代表什么?我的猜测-像变量一样?
80 c++  c++11 

5
如何使用HTML / CSS UI构建本机C ++应用程序?
使用HTML和CSS作为用户界面时是否可以开发C ++程序?我了解使用Webkit容器使用Javascript进行编程的知识,但是我对C ++开发确实很感兴趣。 当我在Windows下开发时,我感到爱上C#WPF,但是现在我转而使用Linux,但找不到用于将标记用于接口的好工具。为此,我想将HTML和CSS(它们非常轻巧且易于使用)与C ++代码和WPF等混合使用。 哦,还有一件事:我在寻找桌面开发而不是网络。


6
Qt:调整包含QPixmap的QLabel的大小,同时保持其宽高比
我使用QLabel向用户显示更大,动态变化的QPixmap的内容。根据可用空间的不同,将此标签缩小/放大会很好。屏幕尺寸并不总是和QPixmap一样大。 如何在保持原始QPixmap的纵横比的同时修改QLabel的QSizePolicy和sizeHint()以调整QPixmap的大小? 我无法修改sizeHint()QLabel,将设置minimumSize()为零没有帮助。hasScaledContents()在QLabel上进行设置可以增长,但会破坏长宽比。 子类化QLabel确实有帮助,但是此解决方案为一个简单的问题添加了过多的代码... 有什么聪明的提示如何在不进行子类化的情况下实现这一目标?
80 c++  qt  qt4  qlabel 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.