问题列表 - 第27845页

CRTP(Curious Recurring Template Pattern)中的模板派生类

我使用了不能用 g++ 4.2.1 编译的 CRTP,也许是因为派生类本身就是一个模板?有谁知道为什么这不起作用,或者更好的是,如何使它起作用?示例代码和编译器错误如下。

资料来源:foo.C

#include <iostream>

using namespace std;

template<typename X, typename D> struct foo;

template<typename X> struct bar : foo<X,bar<X> >
{
  X evaluate() { return static_cast<X>( 5.3 ); }
};

template<typename X> struct baz : foo<X,baz<X> >
{
  X evaluate() { return static_cast<X>( "elk" ); }
};

template<typename X, typename D> struct foo : D
{
  X operator() () { return static_cast<D*>(this)->evaluate(); }
};

template<typename X, typename D>
void print_foo( foo<X,D> xyzzx )
{
  cout << …
Run Code Online (Sandbox Code Playgroud)

c++ templates crtp

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

如何在Javascript对象中找到隐藏的属性/方法?

我想通过此函数的泛化自动确定给定Javascript对象中的所有属性(包括隐藏的属性):

function keys(obj) {
    var ll = [];
    for(var pp in obj) {
        ll.push(pp);
    }
    return ll;
}
Run Code Online (Sandbox Code Playgroud)

这适用于用户定义的对象,但许多内置程序都失败了:

repl> keys({"a":10,"b":2});  // ["a","b"]
repl> keys(Math) // returns nothing!
Run Code Online (Sandbox Code Playgroud)

基本上,我想编写Python的dir()和help()的等价物,它们在探索新对象时非常有用.

我的理解是只有内置对象具有隐藏属性(用户代码显然不能设置"可枚举"属性直到HTML5),因此一种可能性是简单地将Math,String等属性硬编码为dir()等价物(使用这里的列表).但有更好的方法吗?

编辑:好的,到目前为止我看到的最佳答案是在这个帖子上.你不能用你自己的JS代码轻松做到这一点,但最好的办法是在Chrome的开发者工具(Chrome - > View - > Developer - > Developer Tools)中使用console.dir.运行console.dir(Math)并单击三角形向下钻取以列出所有方法.这对于大多数交互/发现工作来说已经足够好了(你真的不需要在运行时这样做).

javascript python hidden introspection

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

有效的javascript对象属性名称

我正在尝试找出对javascript对象的属性名称有效的内容.例如

var b = {}
b['-^colour'] = "blue";     // Works fine in Firefox, Chrome, Safari
b['colour'] = "green";      // Ditto
alert(b['-^colour']);       // Ditto
alert(b.colour);            // Ditto
for(prop in b) alert(prop); // Ditto
//alert(b.-^colour);     // Fails (expected)
Run Code Online (Sandbox Code Playgroud)

这篇文章详细介绍了有效的javascript变量名称,' - ^ color'显然无效(作为变量名).这同样适用于对象属性名称吗?看看上面我试图解决的问题

  1. b [' - ^ color']无效,但可以在所有浏览器中使用quirk,我不应该相信它可以继续工作

  2. b [' - ^ color']是完全有效的,但它只是一种只能以这种方式访问​​的形式 - (它支持所以对象可以用作地图吗?)

  3. 还有别的

顺便说一句,javascript中的全局变量可能会在顶层声明为

var abc = 0;
Run Code Online (Sandbox Code Playgroud)

但也可以创建(据我所知)

window['abc'] = 0;
Run Code Online (Sandbox Code Playgroud)

以下适用于所有上述浏览器

window['@£$%'] = "bling!";
alert(window['@£$%']);
Run Code Online (Sandbox Code Playgroud)

这有效吗?它似乎与变量命名规则相矛盾 - 或者我不是在那里声明变量?变量和对象属性名称之间有什么区别?

javascript

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

在wpf中引发传递参数的事件

当双击GridView中的项目时,我想向我的窗口添加选项卡.但是要添加的选项卡取决于单击的项目.我应该在WPF上以哪种方式执行此操作?我想过RoutedEvents,但我不知道如何用它传递参数.有什么建议?

wpf routed-events

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

现代语言中的预处理器是否已过时?

我正在为一个简单的宠物语言编写一个简单的编译器,我正在创建并来自C背景(虽然我用Ruby编写)我想知道是否需要预处理器.

你怎么看?现代语言中仍然需要"哑"预处理器吗?C#的条件编译功能会被视为"预处理器"吗?是否每种不包含预处理器的现代语言都具有正确替换它所需的实用程序?(例如,由于模板,C++预处理器现在已经过时(尽管仍然依赖).)

language-agnostic preprocessor language-design

6
推荐指数
3
解决办法
658
查看次数

NSNumberFormatter是格式化NSDecimalNumber的唯一方法吗?

我正在使用NSDecimalNumber在Core Data中存储资金.我天真地使用stringWithFormat:首先要格式化值,后来意识到它不支持NSDecimalNumber而是格式化指针:(.所以在通过文档阅读之后我学会了使用NSNumberFormatter来获取我想要的格式.但这只是让我觉得"艰难的道路".有没有比这更简单的方法:?

NSNumberFormatter * formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle: NSNumberFormatterCurrencyStyle];
priceField.text = [formatter stringFromNumber: ent.price];
[formatter release];
Run Code Online (Sandbox Code Playgroud)

iphone cocoa objective-c

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

Visual Studio 2010更好的C#语法着色?

来自Eclipse,我对Visual Studio为C#提供的非常有限的语法着色功能感到失望(所有版本,直到2010年).

特别是,我对方法/字段/本地/静态内容的不同着色感兴趣.

我知道Visual Assist可以增强着色,但是我没有找到任何能够做到这一点的免费替代品,所以我转向SO(我希望它与编程有关).是否有任何免费(或至少比Visual Assist便宜)的解决方案能够增强C#的语法着色?

c# syntax-highlighting visual-studio-2010 visual-studio

18
推荐指数
3
解决办法
9212
查看次数

zend-framework doctrine和mvc pattern:什么样的层应该连接模型和表单之间的数据?

我正在学习Zend Framework和Doctrine.

我想知道将表单连接到模型的最佳实践是什么,反之亦然.

在某些情况下,从表单类中的模型加载数据非常方便.让我们说一个非常独特的类,使用许多模型.

在其他情况下,在模型类中使用方法来为表格准备数据是很方便的.让我们说它可以有一个方法返回为select-options元素准备的数组,因此这个方法对许多表单都很有用.

我希望保持一致性并始终将此逻辑保留在一个层中.

我认为控制器不是正确的地方,因为我想保持清晰和简单.

您实现此目标的做法是什么(将模型连接到表单)?

- 我得出结论,我应该为我的所有需求准备我的模型.如果我必须处理许多模型,我将有一个服务层(它是正确的术语吗?)将连接这些模型.因此,模型或服务将具有为表单水合数据的方法.它将能够接受来自表单值的数据.

model-view-controller doctrine zend-framework

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

将值传递给函数时调用哪些函数

在C++中,如果将类的对象作为参数传递给函数,则将调用该类的复制构造函数.

我想知道对象是否是非类型的,将调用什么函数?

类似地,在C中,将值或变量地址传递给函数时会调用什么函数?

感谢致敬!

c c++ function parameter-passing

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

在python中解析RDF文件

有谁知道如何在Python中解析RDF文件以获取特定标记内的所有值?谢谢

python xml parsing rdf

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