草庐IT

contains_points

全部标签

c++ - "peculiar"使用 switch 语句 : contains an if and for statement 的技术名称

声明一下,这是一道作业题。但这是一个无法从我们的讲义中找到答案的问题,我们被鼓励通过研究(我想是在互联网上)找到答案。我们得到了以下代码片段,并要求我们提供这种特殊“特殊”用法的switch语句的技术名称(这是在C++中)switch(x){case0:if(m>n){case1:for(o=0;o其中x、m、n、o和p是整数我已经回答了所有关于代码如何在不同条件下运行的问题,但我找不到这种switch语句的神秘技术名称。我已经尝试了一些创造性的谷歌搜索,并阅读了几页关于switch语句的内容,但找不到像这样的情况的提及,其中if和for嵌套在其中。谁能指出我正确的方向??

c++ - 如何将分数纪元时间戳( double )转换为 std::chrono::time_point?

我有一个小数纪元时间戳,表示为double,我想将其转换为适当的std::chrono::time_point。纪元是自1/1/1970以来的常用UNIX纪元。我知道存在std::chrono::system_clock::from_time_t,但是time_t没有小数部分。使用C++11方法执行此操作的最佳方法是什么?这个问题与unixtimestamptoboost::posix_time::ptime有关,除了它要求的是C++11而不是它的Boost版本。 最佳答案 假设纪元与已知的时钟类型相同,您可以使用具有double表

c++ - 将 steady_clock::time_point 转换为 time_t

我正在使用steady_clock来保存一些消息的时间戳。出于调试目的,拥有日历(或类似的东西)很有用。对于其他时钟,有静态函数to_time_t,但在GCC(MinGW4.8.0)上,此函数不存在。现在我打印类似的东西:Timestamp:26735259098242对于时间戳,我需要一个steady_clock,所以我不能使用system_clock或其他。编辑之前的打印是从time_since_epoch().count()给出的 最佳答案 假设您需要内部计算的稳定行为,而不是显示,这里有一个函数可用于转换为time_t以供显

c++ - 这个模式 : using a struct to contain a single method 有什么意义

在我们的代码中,我们有很多这种模式的情况:classouterClass{structinnerStruct{wstringoperator()(wstringvalue){//dosomethingreturnvalue;}};voiddoThing(){wstringinitialValue;wstringfinalValue=innerStruct()(initialValue);}};这样做的好处是什么:classouterClass{wstringchangeString(wstringvalue){//dosomethingreturnvalue;}voiddoThing(

java - OOP 术语 : "Container" & "Collection"

C++术语“容器”是否只是Java术语“集合”的同义词? 最佳答案 是的。不过,如果我可以在这里推测的话,C++术语容器更好地强调了所包含项目的所有权,而不是Java的集合,后者没有明确的内存所有权(由于到垃圾收集)。C++容器中的项目在容器被销毁时被销毁(因此项目被包含或拥有),在Java中如果集合本身被垃圾回收,项目可能继续存在。 关于java-OOP术语:"Container"&"Collection",我们在StackOverflow上找到一个类似的问题:

c++ - 获取 POSIX 纪元作为 system_clock::time_point

我知道std::chrono::system_clock::time_point的默认值是时钟的纪元,但我在C++11标准中找不到任何规定system_clock的纪元与POSIX纪元(1970-01-01T00:00:00Z)相同。在Linux和Windows上假设是这种情况是否安全?或者使用std::chrono::system_clock::from_time_t(0)会更聪明吗? 最佳答案 标准离开std::chrono::system_clock::time_point的纪元未指定。std::chrono::system_

C++:从 container1 中查找不在 container2 中的任何元素

我有一个std::set(s)和一个std::vector(五).保证vector是排序的/唯一的。我想知道v的所有元素是否都在s中(或者只是停在v的第一个元素而不是s中)。我可以将v转换成一个集合并进行==测试,但是有没有不改变容器类型的另一种方法? 最佳答案 关于std::includes的内容算法?这是一个简短的用法示例:vectorv1{1,2,4,8};vectorv2{1,2,3,8};sets{0,1,2,4,8,16};cout输出:10 关于C++:从container

C++ 自动类型转换 : wrong behaviour for a container class

我正在为非常小的常量vector和矩阵上的线性代数运算实现一些类。目前,当我这样做时:MyMathVectora={1,2,3};MyMathVectorb={1.3,2.3,3.3};std::cout然后First={2,4,6}和Second={2.3,4.3,6.3},因为第二个元素被编译器转换为第一个元素类型。是否有任何“简单”的方法来提供与nativeC++中相同类型的自动转换:int+double=double,double+int=double?非常感谢。编辑:使用答案给出的语法,我让operator+工作了。但我尝试了以下语法,编译失败并出现错误:expectedat

c++ - QMap::contains() VS QMap::find()

我经常看到这样的代码:if(myQMap.contains("mykey")){myValue=myQMap["mykey"];}理论上在QMap中执行两次查找。我的第一react是它应该被下面的替换,它只执行一次查找并且应该快两倍:autoit=myQMap.find("mykey");if(it!=myQMap.end()){myValue=it.value();}我想知道QMap是否会自动为我进行优化?换句话说,我想知道QMap是否保存了用QMap::contains()找到的最后一个元素的位置,并在执行下一次查找之前首先检查它? 最佳答案

c++ - x64 构建 : error MSB8013: This project doesn't contain the Configuration and Platform combination of Debug|Win32

我正在尝试为具有许多解决方案(一些用于CI,一些用于开发人员)和数百个项目的复杂构建运行纯x64构建,并遇到“错误MSB8013:该项目不包含配置和Debug|Win32的平台组合”我已将其简化为一个简单的配置:解决方案A包含项目X和项目Y。项目X有一个项目引用项目Y。解决方案B包含也包含项目X。所有项目或解决方案都不包含Win32平台-它已被删除。当我构建解决方案B(作为x64)时,我收到errorMSB8013:Thisprojectdoesn'tcontaintheConfigurationandPlatformcombinationofDebug|Win32错误信息有时包含额外