Questions tagged «c++»

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

12
获取机器的IP地址
此问题与先前询问的获取本地计算机的IP地址-问题几乎相同。但是我需要找到Linux机器的IP地址。 所以:我如何-以编程方式在C ++中 -检测运行我的应用程序的linux服务器的IP地址。这些服务器将至少具有两个IP地址,而我需要一个特定的IP地址(给定网络中的一个IP地址(公共地址))。 我敢肯定有一个简单的功能可以做到这一点-但在哪里? 为了使事情更清楚: 该服务器显然将具有“ localhost”:127.0.0.1 服务器将具有一个内部(管理)IP地址:172.16.xx 服务器将具有一个外部(公共)IP地址:80.190.xx 我需要找到外部IP地址以将我的应用程序绑定到该IP地址。显然,我也可以绑定到INADDR_ANY(实际上,这就是我目前所做的)。不过,我希望检测一下公共地址。

4
逻辑运算符的书面版本
这是我见过的唯一地方and,or并且not在C ++中被列为实际的运算符。当我在NetBeans中编写测试程序时,我得到了红色下划线,好像有语法错误,并认为该网站是错误的,但是NetBeans却是错误的,因为它按预期进行了编译和运行。 我可以看到!它受到青睐,not但是and&& 的可读性or似乎比他们的语法兄弟更好。为什么存在这些版本的逻辑运算符,为什么似乎没有人使用它?这是真正有效的C ++还是该语言随附的与C的某种兼容性?

3
何时使用括号括起来的初始化程序?
在C ++ 11中,我们具有用于初始化类的新语法,这为我们提供了许多初始化变量的可能性。 { // Example 1 int b(1); int a{1}; int c = 1; int d = {1}; } { // Example 2 std::complex<double> b(3,4); std::complex<double> a{3,4}; std::complex<double> c = {3,4}; auto d = std::complex<double>(3,4); auto e = std::complex<double>{3,4}; } { // Example 3 std::string a(3,'x'); std::string b{3,'x'}; // …

12
类似于Maven的C ++依赖管理?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 改善这个问题 假设我有一个C ++项目,该项目分为几个子项目。该子项目都产生一个DLL,并且不同的开发人员团队在每个子项目上工作。现在,如果我要构建主项目,是否有办法避免必须自己构建所有子项目? 简而言之,我正在寻找一种能够以与Maven针对Java相似的方式进行依赖管理(即,针对二进制文件和标头)的东西。 实际上,我试图为此使用Maven,但这非常麻烦,因为我不得不手动且非常频繁地创建软件包,Maven错过了最新的更改。另外,运行编译有点麻烦,因为我必须从Maven内部调用NAnt(我使用NAnt的功能直接构建Visual Studio解决方案)。 有关如何执行此操作的任何提示和想法?

7
带有GCC的C / C ++:将资源文件静态添加到可执行文件/库
有人知道如何使用GCC将任何资源文件静态地直接编译到可执行文件或共享库文件中吗? 例如,我想要添加永不更改的图像文件(如果更改,则无论如何我都必须替换该文件),并且不希望它们位于文件系统中。 如果这是可能的(我认为是因为Windows的Visual C ++也可以这样做),如何加载存储在自己的二进制文件中的文件?可执行文件会自行解析,查找文件并从中提取数据吗? 也许我还没有看到GCC的选择。使用搜索引擎并没有真正吐出正确的东西。 我需要此功能才能用于共享库和普通的ELF可执行文件。 任何帮助表示赞赏

1
会使用goto泄漏变量吗?
goto在不调用析构函数和事物的情况下跨代码段跳转是真的吗? 例如 void f() { int x = 0; goto lol; } int main() { f(); lol: return 0; } 不会x泄漏吗?
94 c++  goto 

3
<cstdint>与<stdint.h>
stdint.h和之间有什么区别cstdint? 它们都可以在MSVC(Visual Studio 2010)和gcc-4.5.1中使用。两者都定义了intX_t/ uintX_t类型(其中类型X的大小以字节为单位)。 如果两个标头中的基本原理相同(便携式类型),那么我必须做出哪些决定才能决定一个或另一个? 在stdint.h没有任何命名空间中,定义了每种类型的cstdint类型就在于std命名空间。 是否有任何理由要在std名称空间中包含或不包含定义的类型?两个标题之间有什么区别? cstdint没有文件扩展名,使用c前缀,stdint.h使用.h扩展名。 这些标题的命名约定是什么?该c前缀表示这是一个C库?有一个缺乏文件扩展名的原因cstdint?
94 c++  stdint  cstdint 

8
捕获为函数指针的C ++ lambda
我在玩C ++ lambda及其隐式转换为函数指针。我的开始示例是将它们用作ftw函数的回调。这按预期工作。 #include &lt;ftw.h&gt; #include &lt;iostream&gt; using namespace std; int main() { auto callback = [](const char *fpath, const struct stat *sb, int typeflag) -&gt; int { cout &lt;&lt; fpath &lt;&lt; endl; return 0; }; int ret = ftw("/etc", callback, 1); return ret; } 修改它以使用捕获后: int main() { vector&lt;string&gt; …

13
如何在C ++中计算时差
在C ++中计算时差的最佳方法是什么?我正在计时程序的执行速度,所以我对毫秒感兴趣。更好的是秒。毫秒 可接受的答案有效,但需要包含ctime或time.h(如注释中所述)。
94 c++ 

8
哪个更快:if(bool)或if(int)?
使用哪个值更好?布尔值是true还是Integer 1? 上面的话题让我做一些实验与bool和int的if状态。因此,出于好奇,我编写了以下程序: int f(int i) { if ( i ) return 99; //if(int) else return -99; } int g(bool b) { if ( b ) return 99; //if(bool) else return -99; } int main(){} g++ intbool.cpp -S 为每个函数生成asm代码,如下所示: 的asm代码 f(int) __Z1fi: LFB0: pushl %ebp LCFI0: movl %esp, %ebp LCFI1: …
94 c++  assembly  int  boolean 

4
实验性::文件系统链接器错误
我尝试在gcc 6.0的开发中实际使用新的c ++ 1z功能。 如果我尝试这个小例子: #include &lt;iostream&gt; #include &lt;experimental/filesystem&gt; namespace fs = std::experimental::filesystem; int main() { fs::path p1 = "/home/pete/checkit"; std::cout &lt;&lt; "p1 = " &lt;&lt; p1 &lt;&lt; std::endl; } 我有: / opt / linux-gnu_6-20151011 / bin / g ++ --std = c ++ 1z main.cpp -O2 -g -o go …
94 c++  gcc  c++17 

6
Visual Studio在哪里寻找C ++头文件?
我从SourceForge(HoboCopy,如果您很好奇)签出了一个C ++应用程序的副本,并尝试对其进行编译。 Visual Studio告诉我找不到特定的头文件。我在源代码树中找到了该文件,但是我需要将其放在哪里,以便在编译时可以找到它? 有特殊目录吗?


17
函数指针的意义是什么?
我很难看到函数指针的实用程序。我猜它在某些情况下可能是有用的(毕竟它们确实存在),但是我无法想到使用函数指针更好或不可避免的情况。 您能否举出一些很好使用函数指针的示例(在C或C ++中)?
94 c++  c  function  pointers  c++-faq 

3
gsl库中的span和array_view有什么区别?
在最近的几次会议演讲中,我听说Bjarne Stroustrup和其他人提到了C ++的新编码准则以及一些支持它们的类型。 具体来说,我记得这个例子,span&lt;T&gt;而不是(T* p, int n)作为函数的参数(大约在32:00进行讨论);但我也记得要使用的建议array_view&lt;T&gt;。他们是两个选择,但概念相同吗?还是让我感到困惑,而它们实际上并没有那么相关? 我似乎找不到关于它们都应该有的权威定义。

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.