草庐IT

line_size

全部标签

c++ - Visual Studio 错误 D8016 : '/ZI' and '/Gy' command-line options are incompatible

我正在处理的项目有问题。尽管代码是正确的,但我无法构建它,因为出现以下错误ErrorD8016'/ZI'and'/Gy-'command-lineoptionsareincompatibleLoadReportC:\LoadReport\LoadReport\cl我的VisualStudio版本是2015年。任何想法都将不胜感激。 最佳答案 在配置属性中(Project➔Properties),“/ZI”在C/C++➔General➔DebugInformationFormat“/Gy”在C/C++➔CodeGeneration➔E

c++ - Visual Studio 错误 D8016 : '/ZI' and '/Gy' command-line options are incompatible

我正在处理的项目有问题。尽管代码是正确的,但我无法构建它,因为出现以下错误ErrorD8016'/ZI'and'/Gy-'command-lineoptionsareincompatibleLoadReportC:\LoadReport\LoadReport\cl我的VisualStudio版本是2015年。任何想法都将不胜感激。 最佳答案 在配置属性中(Project➔Properties),“/ZI”在C/C++➔General➔DebugInformationFormat“/Gy”在C/C++➔CodeGeneration➔E

c++ - size_t 类型变量的跨平台格式字符串?

这个问题在这里已经有了答案:What'sthecorrectwaytouseprintftoprintasize_t?(3个回答)关闭2年前.在跨平台c/c++项目(Win32、Linux、OSX)上,我需要使用*printf函数来打印一些size_t类型的变量。在某些环境中size_t是8个字节,而在其他环境中是4个。在glibc上我有%zd,在Win32上我可以使用%Id.有没有优雅的方法来处理这个问题? 最佳答案 PRIuPTR宏(来自)定义了uintptr_t的十进制格式,它应该总是足够大,以便您可以转换size_t不截断,

c++ - size_t 类型变量的跨平台格式字符串?

这个问题在这里已经有了答案:What'sthecorrectwaytouseprintftoprintasize_t?(3个回答)关闭2年前.在跨平台c/c++项目(Win32、Linux、OSX)上,我需要使用*printf函数来打印一些size_t类型的变量。在某些环境中size_t是8个字节,而在其他环境中是4个。在glibc上我有%zd,在Win32上我可以使用%Id.有没有优雅的方法来处理这个问题? 最佳答案 PRIuPTR宏(来自)定义了uintptr_t的十进制格式,它应该总是足够大,以便您可以转换size_t不截断,

c++ - vector 中的 size() 与 empty() - 为什么首选 empty()?

在调试某些东西时,我看到了STLvector::empty()实现:boolempty()const{return(size()==0);}我相信,每当我们探测vector的空性时,总是建议使用空而不是size()。但是看到这个实现,我想知道,这样做有什么好处?相反,在调用empty时会产生函数调用开销,因为它在内部调用size()==0。我认为empty()在列表的情况下可能会有所帮助,因为size()不能保证列表中的恒定时间。为了验证我的假设,我检查了列表实现,令人惊讶的是,在列表中也发现了相同的实现,return(size()==0);我现在有点困惑。如果empty内部使用siz

c++ - vector 中的 size() 与 empty() - 为什么首选 empty()?

在调试某些东西时,我看到了STLvector::empty()实现:boolempty()const{return(size()==0);}我相信,每当我们探测vector的空性时,总是建议使用空而不是size()。但是看到这个实现,我想知道,这样做有什么好处?相反,在调用empty时会产生函数调用开销,因为它在内部调用size()==0。我认为empty()在列表的情况下可能会有所帮助,因为size()不能保证列表中的恒定时间。为了验证我的假设,我检查了列表实现,令人惊讶的是,在列表中也发现了相同的实现,return(size()==0);我现在有点困惑。如果empty内部使用siz

c++ - C++ 循环中 vector::size() 的性能问题

在以下代码中:std::vectorvar;for(inti=0;isize()成员函数是每次循环迭代调用,还是只调用一次? 最佳答案 理论上,每次都会调用,因为一个for循环:for(initialization;condition;increment)body;扩展为类似{initialization;while(condition){body;increment;}}(注意花括号,因为初始化已经在内部范围内)在实践中,如果编译器了解您的条件在循环的所有持续时间内是不变的并且它没有副作用,它可以聪明地把它搬出去。这通常使用str

c++ - C++ 循环中 vector::size() 的性能问题

在以下代码中:std::vectorvar;for(inti=0;isize()成员函数是每次循环迭代调用,还是只调用一次? 最佳答案 理论上,每次都会调用,因为一个for循环:for(initialization;condition;increment)body;扩展为类似{initialization;while(condition){body;increment;}}(注意花括号,因为初始化已经在内部范围内)在实践中,如果编译器了解您的条件在循环的所有持续时间内是不变的并且它没有副作用,它可以聪明地把它搬出去。这通常使用str

C++ 连接 __FILE__ 和 __LINE__ 宏?

我希望我的异常消息包含有关异常位置的信息。所以我想要一些类似的东西。#defineLOCATION__FILE__":"__LINE__throwstd::exception(std::string("ABCD.")+LOCATION);这个定义显然是不正确的。如何做到这一点? 最佳答案 您需要将该宏扩展为两个级别:#defineS1(x)#x#defineS2(x)S1(x)#defineLOCATION__FILE__":"S2(__LINE__)原因如下:您需要将__LINE__扩展为两个级别,然后将其传递给#x。首先,在fu

C++ 连接 __FILE__ 和 __LINE__ 宏?

我希望我的异常消息包含有关异常位置的信息。所以我想要一些类似的东西。#defineLOCATION__FILE__":"__LINE__throwstd::exception(std::string("ABCD.")+LOCATION);这个定义显然是不正确的。如何做到这一点? 最佳答案 您需要将该宏扩展为两个级别:#defineS1(x)#x#defineS2(x)S1(x)#defineLOCATION__FILE__":"S2(__LINE__)原因如下:您需要将__LINE__扩展为两个级别,然后将其传递给#x。首先,在fu