问题列表 - 第40342页

C++ - &CRTP.类型擦除vs多态

好的,我们走了.我正在尝试使用CRTP模板,以便从我的应用程序中删除多态性的需要.我使用像下面那样的方法

template <RealType> class Base 
{

    void doSomething()
    {
         static_cast<RealType>(this)->doSomethingImpl()
    }

class Derived1 : public Base
{
    void doSomethingImpl()
    {
        /* do something, for real */
    }
}

class Derived2 : public Base
{
    void doSomethingImpl()
    {
        /* do something else */
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我理解正确的话,这个方法允许我的类没有vtable,所以函数调用是直接的,不需要额外的间接.

现在假设我想将所有Derived#类存储在容器中.让我们说一个向量.

第一种方法:我可以创建一个非模板SuperBase类,Base从该类继承并将其存储在容器中.

然而,在我看来,如果我想这样做,我将不得不在SuperBase中使doSomething虚拟化.我的目标主要是没有vtable.

第二种方法:我使用类型擦除,即boost :: any之类的东西将我的元素存储在Vector中.但是,我没有看到我可以迭代元素并在它们上调用doSomething的方法,因为要"使用"boost :: any,我需要在迭代时知道对象的真实类型.

你认为我想要做的甚至是可能的吗?

在我看来,这是因为doSomething()是Base的一部分,但除了使用继承之外,我看不到这样做的方法....

c++ metaprogramming type-erasure

8
推荐指数
2
解决办法
2575
查看次数

允许用户更改网页布局

我有一个网页,允许用户插入带有标签的表单输入对象.当他们添加一个新对象时,我会自动将它添加到一个2列表中,左列是标签,右边是表单控件.

我想让用户更好地控制页面的布局方式.我想知道是否有任何示例,模式或建议可以帮助我实现这一目标.我发现的唯一示例是在Liferay中,您可以在其中选择不同的布局模板,然后根据布局和顺序在该页面上定位portlet.

更新:

我想坚持他们设计的布局.

我已经将表单本身保留了下来.HTML没有持久化,我在请求表单时动态生成它.我想要一种方法来保持表单的布局.

我不是在寻找太详细的东西.主要是思想和建议.

谢谢

html css layout

4
推荐指数
1
解决办法
3413
查看次数

如何将System.IO.Stream转换为字符串,然后再转换回System.IO.Stream

我有Stream类型的财产

public System.IO.Stream UploadStream { get; set; }
Run Code Online (Sandbox Code Playgroud)

如何将其转换为a string并发送到另一侧我可以再次将其转换为System.IO.Stream

.net iostream silverlight-4.0

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

如果链接包含href中的某些内容,则将href更改为this

我想检查href是否包含"即将推出",如果它确实更改了href以转到我的产品页面:

$('a[href$="coming-soon"]').attr('href', '/products.aspx');
Run Code Online (Sandbox Code Playgroud)

不能解决这个问题.

javascript jquery href

6
推荐指数
1
解决办法
9129
查看次数

是否没有内置的C#GUI布局?

我已经习惯了Java中的GUI框架以及QT GUI框架,我已经习惯了各种布局管理器.C#似乎没有内置布局管理器,或者我错过了什么?

2年后编辑

我只是想向这个问题的任何读者指出,在后视中,我的问题是错误的.通过适当地锚定和对接子控件,需要Java和QT4的布局管理器几乎不存在.

c# layout layout-manager

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

字体Web字体看起来更大胆

我遇到了问题.我试图用@ font-face嵌入字体,但它们总是看起来更大胆.我已经尝试了一切:其他字体,将font-weight更改为"ligher"或"100"等...字体总是看起来像是粗体.我很确定它看起来不错,因为我已经看到它在许多其他网站上使用@ font-face而且它看起来很薄很好.

请参阅附件中的图片链接文字(我知道它看起来不会像在PS中那样,但却如此不同?)

谢谢

css font-face

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

如何使用平滑缩放(api V3)将谷歌地图标记居中?

我正在使用map.panTo()标记之间有一个很好的平滑过渡,当我从一个位置列表中点击,但我看不到类似的缩放方法...我想像setZoom(13, 1500)1500就是持续时间...

任何线索?

google-maps-api-3

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

为什么自下而上的解析比自上而下的解析更常见?

似乎递归下降解析器不仅是最简单的解释,而且最简单的设计和维护.它们不仅限于LALR(1)语法,并且代码本身可以被凡人理解.相比之下,自下而上的解析器对它们能够识别的语法有限制,并且需要由特殊工具生成(因为驱动它们的表几乎不可能手动生成).

那么为什么自下而上(即shift-reduce)解析比自上而下(即递归下降)解析更常见?

parsing context-free-grammar

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

从Firefox Addon中的JS-Chrome-Content功能自动建议源代码

关于Mozillas Auto-Suggest扩展教程我想设计自己的自动建议扩展.本教程使用autocompletesearchparamparam中定义的json 作为建议源.

我如何定义另一个源,比如返回对象的chrome-content js-file中的库方法?

javascript xul firefox-addon

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

std :: ofstream,在写入之前检查文件是否存在

我正在使用C++ 在Qt应用程序中实现文件保存功能.

我正在寻找一种方法来检查所选文件是否已经存在,然后写入它,以便我可以向用户提示警告.

我正在使用std::ofstream,我不是在寻找Boost解决方案.

c++ fstream std stream ofstream

34
推荐指数
5
解决办法
7万
查看次数