草庐IT

int_mnth_goal

全部标签

c++ - size_t 和 __w64、time_t 和 __int64 是如何工作的?

我不是C或C++的老手。我不知道time_t是如何定义和设计的。几个帖子,例如:Whatisultimatelyatime_ttypedefto?Whatissize_tinC?Differencebetweensize_tandstd::size_t但是这些帖子只说明什么是time_t或size_t。它没有明确说明time_t或size_t是如何以及在何处定义和声明的。我正在使用WIN8VS2012ExpressC++。我搜索了库,发现size_t是在crtdefs.h中定义的,而不是cstddef。为什么需要size_t、time_t这样的类型?我们可以让sizeof只返回unsi

c++ - 在 C++ 中初始化静态 std::map<int, unique_ptr<int>>

这是一个与此post类似的问题.我认为最有前途的答案与模板化静态初始化有关。这是该答案的类(class):templateclasscreate_map{private:std::mapm_map;public:create_map(constT&key,constU&val){m_map[key]=val;}create_map&operator()(constT&key,constU&val){m_map[key]=val;return*this;}operatorstd::map(){returnm_map;}};用法:std::mapmymap=create_map(1,2)(

c++ - boost::ublas 如何获得 int 矩阵的行列式?

我找到了计算boost::ublas矩阵行列式的函数:templateValTypedet_fast(constublas::matrix&matrix){//createaworkingcopyoftheinputublas::matrixmLu(matrix);ublas::permutation_matrixpivots(matrix.size1());autoisSingular=ublas::lu_factorize(mLu,pivots);if(isSingular)returnstatic_cast(0);ValTypedet=static_cast(1);for(std

c++ - c++ 中的 int(或 long long)溢出如何影响模数?

假设我有两个longlong,a和b,我需要相乘,然后得到一些大k的modk值,这样a、b和k都在longlong的范围内,但不在诠释。为简单起见,a,b因此代码将是:longlonga,b,k;cin>>a>>b>>k;cout但是,因为a和b太大了,如果像上面那样相乘,溢出变成负数,那么modk就是负数,不正确。如何确保modk的值是正确的?编辑:作为奖励,这在Java中是如何工作的?是不是和预想的一样?还是需要BigInteger? 最佳答案 许多编译器提供128位整数类型。例如,使用g++你可以创建一个函数staticinl

c++ - (int&&)5 是整数常量表达式吗?

g++接受代码:charb[static_cast(5)];N3936[expr.const]/3将术语定义为:Anintegralconstantexpressionisanexpressionofintegralorunscopedenumerationtype,implicitlyconvertedtoaprvalue,wheretheconvertedexpressionisacoreconstantexpression.[Note:Suchexpressionsmaybeusedasarraybounds[...]我不确定,因为表达式看起来像是int&&类型但是3.9中整数类

c++ - long int* 到 np_intp* 平台相关转换

在我的64位办公桌面上,编译正常:#include#include...Py_Initialize();import_array();//BuildarrayobjectlongintNUMEL=3;PyObject*out_array=PyArray_SimpleNew(1,&NUMEL,NPY_DOUBLE);相反,在我的32位笔记本电脑上,这无法产生错误:error:invalidconversionfrom‘longint*’to‘npy_intp*{akaint*}’[-fpermissive]PyArray_New(&PyArray_Type,nd,dims,typenum

c++ - "Int"c++ 与 "long long"结果的乘法

这个问题在这里已经有了答案:Squaringnumberinc++,Kaprekarnumbers[duplicate](3个答案)关闭6年前。我正在尝试计算int的平方。我的代码如下所示:longlongsqr=0;intnum=77778;sqr=num*num;结果应该是6049417284但是当我检查输出时,它显示1754449988。我在做什么错误?longlong应该能够存储结果,但为什么我得到了不同的值?

c++ - Floor vs int 转换差异

这个问题在这里已经有了答案:Isfloatingpointmathbroken?(31个答案)关闭6年前。我有一个奇怪的问题。这是我的部分代码:inttemp=1100;intfoo=floor(0.03*temp);intfoo1=0.03*temp;if(foo-foo1){cout如果temp的3%=整数,则foo与foo1相差1。例如:1100*0.03=33.foo=33foo1=32.另外,如果我这样写:intfoo=floor(0.03*1100);intfoo1=0.03*1100;不存在这样的问题。为什么?

c++ - 未定义模板的隐式实例化 'std::__1::function<int (double, double, double, double)>'

在我正在进行的项目中,我尝试使用curlpp库来发出一个简单的htmlGET请求。当我将cpp文件传递​​给g++时,出现以下错误:/usr/local/include/curlpp/internal/CurlHandle.hpp:185:42:error:implicitinstantiationofundefinedtemplate'std::__1::function'curlpp::types::ProgressFunctionFunctormProgressFunctor;/usr/local/include/curlpp/internal/CurlHandle.hpp:13

c++ - 将用户输入从 int[] 转换为 char[][]

我让这个程序将int数组作为输入并使用快速排序对其进行排序,但我想知道,我将如何更改这个程序以将char[][]作为输入(字符串数组)并按字母顺序对它们进行排序?如果只有一个字符串,它可以工作,但我想知道如果有人想要字符串数组怎么办//followingprogramsortsanarrayusingquicksortalorithm#include#includevoidswap(int*a,int*b)//functiontoswapelements{intt;t=*a;*a=*b;*b=t;}intpartition(intarr[],intleft,intright)//fun