小编Mar*_* A.的帖子

在析构函数中抛出异常 - 有什么缺点?

在析构函数中抛出异常有什么缺点?

现在我能看到的唯一不利因素是它可能会停止释放资源,还有其他缺点吗?

c++

0
推荐指数
1
解决办法
92
查看次数

模板参数中的is_base_of - 类未命名类型

只是想知道为什么我不能在C++模板参数中使用is_base_of,如下所示:

#include <iostream>
#include <type_traits>
using namespace std;

struct base
{
};

struct derived : public base
{
    int value;
};




template<class A, class B, bool isbaseof = std::is_base_of<A,B>::value> myclass
{
    void foo() {
        cout << "Generic..";
    }
};

template<class A, class B> myclass<A,B,true>
{
    void foo() {
        cout << "A is not base of B";
    }
};

int main() {

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误:

prog.cpp:17:73: error: ‘myclass’ does not name a type
 template<class A, class B, bool isbaseof = …
Run Code Online (Sandbox Code Playgroud)

c++ templates c++11

0
推荐指数
1
解决办法
805
查看次数

排序数组有三个不同的整数,只有一个传递

有没有办法在数组上只有一个传递对三个整数的数组进行排序?

你得到:

int array[]={1,2,2,2,3,1,1,2,2,1,3}
Run Code Online (Sandbox Code Playgroud)

而且你被告知只有1,2,3号

要得到:

int array[]={1,1,1,1,2,2,2,2,2,3,3}
Run Code Online (Sandbox Code Playgroud)

并且不允许额外的空间

TNX!

c c++

0
推荐指数
2
解决办法
384
查看次数

sscanf可能溢出

我和我的朋友最近争论以下是否可能触发缓冲区溢出.

我熟悉我遇到的常见'sscanf'功能.但这个似乎与我有点联系,因为我不太确定在这种情况下如何解释格式说明符'%'INT64_FMT,以及'sscanf'将写入bot'first'和'second'变量.

有谁有想法?

static int hKCMF_SLC(const char *content, int64_t *first, int64_t *second)
{
 return sscanf(content, "Size=%" INT64_FMT "-%" INT64_FMT, first, second);
}
Run Code Online (Sandbox Code Playgroud)

c c++

0
推荐指数
1
解决办法
360
查看次数

在类外定义重载的下游运算符

这是我编写的一些简单代码。它只是复制一个对象,并使用重载的运算符显示其数据功能。

      //Base
      #include<iostream>
      #include<istream>
      #include<ostream>
      using std::ostream;
      using std::istream;
      using namespace std;

      class Sphere{
      public: 

      Sphere(double Rad = 0.00, double Pi = 3.141592);


      ~Sphere();




    Sphere(const Sphere& cSphere)

    //overloaded output operator
    friend ostream& operator<<(ostream& out, Sphere &fSphere);


    //member function prototypes
    double Volume();
    double SurfaceArea();
    double Circumference();

protected:
    double dRad;
    double dPi;
};


//defining the overloaded ostream operator
ostream& operator<<(ostream& out, Sphere& fSphere){
    out << "Volume: " << fSphere.Volume() << '\n'
        << "Surface Area: " << fSphere.SurfaceArea() << '\n'
        << "Circumference: " …
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
1375
查看次数

maxrregcount和动态并行的问题

我试图估计限制注册表使用对应用程序占用率的影响.在运行我的实验时,当我试图限制在Nvidia样本中找到的cdpBezierTessellation应用程序的寄存器数量时,我收到了一个错误.

标志已添加到nvcc:-maxrregcount 16

Error: nvlink error : entry function '_Z21computeBezierLinesCDPP10BezierLinei' with max regcount of 16 calls function 'cudaMalloc' with regcount of 18
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会发生这种情况.谁能帮我这个?

cuda nvidia

0
推荐指数
1
解决办法
649
查看次数

c ++ stl中向量元素的范围

对于以下计划部分:

std::vector<int*> v;
{
    int a=5000;
    int *aa =&a;
    vv.push_back(aa);
    cout<<"\n"<<*(v[0]);
}
cout<<"\n"<<*(v[0]);
Run Code Online (Sandbox Code Playgroud)

输出:

5000
5000
Run Code Online (Sandbox Code Playgroud)

我怀疑如果插入指向矢量的指针,矢量应该有地址,并且当从局部块外部访问它时它不应该打印elemet因为"a"具有局部范围.在这里,该指针的对象具有局部范围,仍然可以从范围外部访问.请求帮助.谢谢

c++ stl

-2
推荐指数
1
解决办法
296
查看次数

标签 统计

c++ ×6

c ×2

c++11 ×1

cuda ×1

nvidia ×1

stl ×1

templates ×1