小编Ser*_*rge的帖子

在初始化列表中初始化一个常量大小的数组

我的情况可以归纳如下:

class Test
{

    Test();

    int MySet[10];

};
Run Code Online (Sandbox Code Playgroud)

是否可以MySet在初始化列表中初始化?

像这种初始化列表:

Test::Test() : MySet({1, 2, 3, 4, 5, 6, 7, 8, 9, 10}) {}
Run Code Online (Sandbox Code Playgroud)

有没有办法在类的初始化列表中初始化一个常量大小的成员数组?

c++ arrays class constants initializer-list

23
推荐指数
2
解决办法
6万
查看次数

C++虚拟运算符删除?

是否可以拥有虚拟删除操作符?我不是在讨论析构函数,我的意思是实际的运算符重载.

减去这个事实(在大多数情况下)重载新的和删除是一个很大的坏主意(是的,我已经知道它是异端),我想知道使用虚拟删除操作符会产生什么样的影响.

我正在考虑尝试使用虚拟删除,因为有时我可能有一个重载delete的子类,存储在基类指针中.从技术上讲,我真的没有看到这种情况会产生过多的结果,除非我有一个不同节点类型的树(如果你问我,首先是潜在的危险想法).

我只是想知道虚拟或非虚拟删除操作符覆盖的潜在优缺点.

c++ virtual inheritance operator-overloading delete-operator

14
推荐指数
2
解决办法
3889
查看次数

使用Win32 API创建表

我一直在网上搜索关于win32 API的不同内容,但似乎所有关于它的信息都相当稀疏.

我希望创建一个显示项目列表的简单窗口,但是我希望以表格式格式显示每个项目的不同数据列,在这种格式中,用户可能可以调整不同列宽的大小.

如果可能的话,我还希望能够在代码中更改不同行的背景颜色,只需要一般的白色,红色,黄色或绿色.

并且还允许用户右键单击不同的行,并且能够在其上调用函数,或者将数据复制到剪贴板(但该部分是不同的故事).

现在,我找到了可以放在窗口,按钮和右键菜单中的列表查看器对象(?)......但我无法弄清楚如何使用Win32 API来创建表.除了窗口本身之外,我还没有真正读过背景颜色.

我应该使用一个不同的,更好的框架,还是有一些我一直缺少的功能或项目?关于这个想法的所有帮助或指导将不胜感激......

我正在使用MSVC++来做......我正在做的一切.

winapi frameworks visual-c++

11
推荐指数
3
解决办法
2万
查看次数

在Flash Professional CS6中编译Flash 10.1

我目前正在为三星智能电视开发一个项目.

如果我想在电视上使用Flash,那么这个项目将需要Flash,并且规范要声明为Flash 10.1编译.但是,我正在查看Flash Professional CS6中的发布选项,我只给出了10.3的选项,而不是10,10.1或Flash 10的其他任何颠覆.(我给出了Flash 9的选项) ,8,11等等.

有没有办法强制CS6为Flash 10.1编译?

flash adobe flash-10 samsung-smart-tv

10
推荐指数
1
解决办法
2万
查看次数

C++指向成员的成员?

假设我有两个类:

class A
{
    int x;
    int y;
};


class B
{
    int z;
    A ref;
};
Run Code Online (Sandbox Code Playgroud)

假设我还有一个函数接受B的指针到成员的整数,如下所示:

void doSomethingToB(B* object, int B::* val)
{
    if(val)
    {
        std::cout << object.*val;
    }
}
Run Code Online (Sandbox Code Playgroud)

我是否可以指向refB内部的成员?

喜欢int B::* ptr = &(B::ref.x)或类似的东西?

c++ class pointer-to-member

8
推荐指数
1
解决办法
1459
查看次数

如何计算模板类的CRTP子类数?

有没有人知道使用CRTP计算对象子类数的方法?

假设我们有类似于以下设置:

template <typename T>    
class Object
{
    ....  
};

const unsigned int ObjectSubClassCount = ...; 

class Subobject : public Object<SubObject>
{
    ....
};

class Second : public Object<Second>
{
    ....
};
Run Code Online (Sandbox Code Playgroud)

等等,使用TMP,我们可能有一个ObjectSubClassCount代表子类总数的常量()?

有谁知道这样做的方法?

编辑:我想稍后将结果用作模板参数,所以我需要用TMP来完成...

c++ counter subclass crtp template-meta-programming

5
推荐指数
1
解决办法
769
查看次数

memcpy或memmove会导致复制类的问题吗?

假设我有任何类或结构.没有虚函数或任何东西,只是一些自定义构造函数,以及一些需要在析构函数中进行清理的指针.

在此结构上使用memcpy或memmove会有什么不利影响吗?删除移动的结构会导致问题吗?问题假设内存对齐也正确,我们正在复制到安全内存.

c++ class memcpy memmove

5
推荐指数
2
解决办法
5071
查看次数

内联成员运算符与内联运算符C++

如果我有两个结构:

struct A
{
    float x, y;
    inline A operator*(A b) 
    {
        A out;
        out.x = x * b.x;
        out.y = y * b.y;
        return out;
    } 
}
Run Code Online (Sandbox Code Playgroud)

和一个等效的结构

struct B
{
    float x, y;
}

inline B operator*(B a, B b) 
{
    B out;
    out.x = a.x * b.x;
    out.y = a.y * b.y;
    return out;
} 
Run Code Online (Sandbox Code Playgroud)

您是否知道B的运算符*有任何不同的编译原因,或者运行速度比A的运算符更慢或更快*(函数内部的实际操作应该是无关紧要的)?

我的意思是......将内联运算符声明为成员,而不是作为成员,对实际函数的速度有任何通用影响,无论如何?

我有许多不同的结构,目前遵循内联成员运算符样式......但我想将其修改为有效的C代码,而不是; 所以在我这样做之前,我想知道性能/编译是否会有任何变化.

c++ performance struct inline operator-keyword

3
推荐指数
1
解决办法
1万
查看次数

比较运算符值C ++

我们都知道C ++(虽然不是超集)几乎是从C派生的。

在C ++中,运算符<,<=,>,> =,==和!=都具有布尔返回值。但是,在C中,相同的运算符返回1或0,因为C中没有“布尔”类型。

由于除0以外的所有整数值都被视为“ true”,而0为“ false”,我想知道:

C ++仍然将运算符的返回值限制为1相对于0,还是从这些运算符之一返回的“ true”返回任何1字节的值,只要它不为0?

我想知道,因为将这些返回值用作显式1或0在不进行分支的按位运算中将很有用。

作为一个可怕的例子,请采取以下措施:

bool timesTwo;
int value;

//...

if(timesTwo)
    value << 1;

//vs

value << (int) timesTwo;
Run Code Online (Sandbox Code Playgroud)

c c++ boolean operator-keyword

3
推荐指数
1
解决办法
3225
查看次数

检查类是否具有TMP的复制构造函数

我一直在尝试一点SFINAE来确定泛型类型T是否有我可以使用的复制构造函数.这是我现在的位置.

template <bool statement, typename out>
struct Failable
{
    typedef out Type;
};
//This class is only used to insert statements that 
//could encounter substitution failure


template <typename O>
struct COPY
{
    template <typename T>
    typename Failable<true == sizeof(&T::T(const T&)), char>::Type copy(int)
    {}

    template <typename T>
    typename Failable<true, int>::Type copy(...)
    {}

};
Run Code Online (Sandbox Code Playgroud)

然而,这也是我有点卡住的地方. &T::T(const T&)显然是一个无效的语句,因为我们不能提供带有指向成员的参数列表,即使是ptm函数也是如此.我总是可以尝试指定某种类型void (T::*ptmf)(const T&) = &T::T,并希望它隐式确定正确的重载构造函数放入指向成员函数的指针,但这也意味着构造函数具有特定的返回类型,我必须指定.

有没有其他人有任何我可以跋涉的想法?(我还需要应用类似的概念来检查赋值运算符.)

提前致谢.

c++ sfinae pointer-to-member template-meta-programming

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

将HTML作为字符串插入,而无需JQuery

我正在寻找一种将包含HTML数据的字符串插入div元素的方法。该字符串是通过XHR加载的,无法知道其中包含哪些元素。

我搜索了一下,发现了一些可能会有所帮助的东西,但对我来说并不完全有效。我需要的是类似于Prototype框架中的update()函数的东西:http : //prototypejs.org/api/element/update

我正在编写的平台不允许使用框架或JQuery。我坚持使用Javascript。有人有想法么?

我不能使用innerHTML,因为它不应用任何更新或功能,或基本上不应该在加载时发生的任何事情

我有一些onload事件需要发生,据我所知,使用innerHTML不会执行onload事件。我不正确吗?

两年后编辑:对于其他阅读者,我对该onload事件有一些严重的误解。我希望这对任何元素都是有效事件,而仅对<body/>元素有效。 .innerHTML是执行我要寻找的适当方法,并且添加元素的任何其他功能都需要以其他方式手动完成。

javascript dom element xmlhttprequest

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