问题列表 - 第11239页

有没有办法访问STL容器适配器的底层容器?

是否有一个标准来访问的底层容器的方式stack,queue,priority_queue

我发现了一个叫方法:_Get_container()VS2008实施stackqueue,但没有一个priority_queue!我认为它不是标准的.

另外,我知道这是一个愚蠢的问题!我在哪里可以找到标准库的官方文档?


仅仅为了澄清,我并没有试图弄乱底层容器.我试图做的就是:

template <class Container>
std::ostream& printOneValueContainer(std::ostream& outputstream, Container& container)
{
    Container::const_iterator beg = container.begin();

    outputstream << "[";

    while(beg != container.end())
    {
        outputstream << " " << *beg++;
    }

    outputstream << " ]";

    return outputstream;
}

// stack, queue
template
    < class Type
    , template<class Type, class Container = std::deque<Type> > class Adapter
    >
std::ostream& operator<<(std::ostream& outputstream, const Adapter<Type>& adapter) …
Run Code Online (Sandbox Code Playgroud)

c++ standards stl data-structures

24
推荐指数
3
解决办法
8682
查看次数

用于输入地址的自动填充文本框是个好主意吗?

通过传统形式输入我的地址让我发疯:

  • 当我的邮政编码可以推断出我的城市和州时,为什么我必须输入我的城市,州邮政编码?
  • 从下拉列表中选择你的状态是一个痛苦的屁股 - 通常你不能插入它,你必须使用鼠标等.

替代文字http://img10.imageshack.us/img10/7404/traditionaladdressform.png

因为我发现这个过程如此令人厌恶,当我设计我的在线商店(bombsheets.com)时,我决定为地址构建一个自动完成的小部件.在您输入时,我们会尝试对您的地址进行地理编码(通过Google地图):

alt text http://img403.imageshack.us/img403/9333/addressautocomplete.png

在最好的情况下,这非常有效.如果您的地址是"120 W 45th St,New York,NY 10036,USA",您可以输入短至"120 w 45th st,nyc"的内容输入.

但是,据我所知,我们是唯一使用此界面的在线商店.我很好奇它是否缺乏使用意味着这个想法在某种程度上是有缺陷的.一些潜在的问题:

  1. 太外国/不熟悉.客户习惯于旧形式,并且在它们上面切换是令人困惑的.
  2. 你必须在不同的领域输入你的公寓/楼层号/任何东西.这令人困惑.
  3. 当我们的商店爆炸时(好问题),我们将向谷歌提出太多的Geocode请求,以便进行扩展.
  4. 编辑:这对于禁用了javascript的(约5%)用户不起作用.
  5. 这里没有重大问题,这个界面就是未来.(这不是那么古怪,因为,例如,许多在线商店强迫您输入您的信用卡号和您的信用卡类型,当后者可以从前者推断时).

无论如何,基本上我很好奇这是否是我应该尝试创新的领域,或者我是否应该使用传统方法.(关于改进这种新方法的可用性的想法当然也受到赞赏).

javascript autocomplete ruby-on-rails e-commerce street-address

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

为什么Scala不能在此示例中推断出类型参数?

假设我有两个类,Input并且Output,其被设计为连接到彼此.Output生成某种类型的值,并使用Input它们.

class Input[T] {
  var output: Option[Output[_ <: T]] = None
}
class Output[T] {
  var input: Option[Input[_ >: T]] = None
}
Run Code Online (Sandbox Code Playgroud)

只要类型参数是类型参数的超类型,Input并且Output对和不对同一类值进行操作就没关系.请注意,两个类中的type参数都是不变的; 在真实版本中,它用于共同和逆变位置.InputOutput

我在connect其他地方有一个方法,它在Input/ Outputpair 之间建立一个链接:

def connect[T](output: Output[T], input: Input[_ >: T]) = {
  output.input = Some(input)
  input.output = Some(output)
}
Run Code Online (Sandbox Code Playgroud)

如果我按如下方式调用此方法,则会出现类型错误:

val out = new Output[String]
val in = new Input[AnyRef]
connect(out, in)
Run Code Online (Sandbox Code Playgroud)

错误是:

test.scala:17: error: type …
Run Code Online (Sandbox Code Playgroud)

generics types scala type-inference

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

包装算法

我有一组具有相关属性(重量,长度,宽度)的项目.我还有一套包装类型,带有相关属性(最大重量,长度,宽度)

我正在寻找一种算法来确定包装物品的最少数量的盒子.

到目前为止,我已经探讨了背包问题,虽然它可以接近,但我并没有完全处理重量,价值类型的问题.

这是一个例子:

项目:10 x项目#1,(每个1磅,24英寸长,12英寸宽)5个项目#2,(每个2磅,24英寸长,6英寸宽)

包装类型:小盒子(MaxWeight = 40lbs,24"x12")大盒子(MaxWeight = 75lbs,24"x24")

打包的可能方法是:2x小盒子 - >每种物品类型1x大盒子 - >其中的一切

我想要返回单个框的结果,但如果我可以返回所有可能的组合,那也可以.

algorithm packaging mathematical-optimization

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

我们应该教初学者使用全局命名空间吗?

注意:我自己几乎都是初学者.这个问题集中在C++的使用上,因为这是我遇到的唯一语言.

using namespace std;为C++提供的代码示例中使用Stack Overflow似乎已达成共识.我最初是以这种方式学习的,并且从未被教过为什么以后这是一个问题.

我只是想知道为什么人们在他们的示例代码中使用前缀std ::有问题.声明全局命名空间似乎是反复无常的,特别是因为许多提问者将示例中的代码复制+粘贴到他们的IDE中.命名空间是一个高级编程概念,但我认为最好为std ::添加前缀,然后在初学者询问时解释它.

为什么这种用法教会初学者是否可以接受?

c++ namespaces global-namespace

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

使用LINQ或Lambda从列表中删除实例?

现在我来了一个阶段,将我的所有数据作为缓存(对象)中的列表,我接下来要做的就是从列表中删除一些实例.

通常情况下,我会这样删除:

List<T> list;
List<T2> toBeRemovedItems;
// populate two lists
foreach(T2 item in toBeRemovedItems)
{
    list.Remove(delegate(T one) { 
        // build a condition based on item
        // return true or false
    });
}
Run Code Online (Sandbox Code Playgroud)

更具体地说,我实际上构建或填充了动态类(不是正式定义的类)的BeRemvoedItems列表.例如,T类类似于MyClass,删除代码是:

class MyClass<C> {
    public string Value1 { get; set; }
    public int Value2 { get; set; }
    public C ObjectC { get; set; }
}
....
List<MyClass<C>> list;
// populate list
// populate toBeRemovedItems. Here is an example of hard-coded codes:
var toBeRemovedLItems = new[] {
    new …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda

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

Google Appengine和Google Apps - 将www.mydomain.com映射到my-app-id.appspot.com

这肯定已经讨论了很多次了......但老实说,我做了很多谷歌搜索但是找不到合适的答案是不可能的.

首先,我使用appengine构建了一个应用程序.然后我去了appengine的Versions选项卡,并尝试添加域名,这导致我使用谷歌应用程序购买域名.一旦我买了它,我就完全迷失了.如何将我的appengine应用程序映射到www.mydomain.com.我不是在询问裸域(http://mydomain.com).这是我最小的问题.

我可以在google apps帐户下看到myapp.appspot.com作为服务.但是,我如何将其映射到www.mydomain.com?目前它正在映射一个"谷歌网站"生成的页面.

请指教.

google-app-engine

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

Vaadin和Spring MVC集成

我正在考虑使用Spring MVC和Vaadin Framework的可能性.是否有任何记录的方法可以让它们很好地融合在一起?同时使用它们也是个好主意吗?与表现有关; 我将在专用服务器上运行该应用程序.

为了使我的问题更清楚,我如何从Spring MVC Controller返回一个modelandview,它将使用Vaadin呈现并可以访问所有模型数据.

spring spring-mvc vaadin

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

还有充分的理由支持JDK 1.4吗?

我正在考虑用Java编写一个开源项目,我正在争论不支持JDK 1.4及更早版本.该框架绝对可以使用较旧的Java模式和习惯用法编写,但真正受益于更成熟的1.5+版本的功能,如泛型和注释.

所以我真正想知道的是,在选择框架时,对旧JDK的支持是否是一个主要决定因素?

可以理解的是,遗留系统仍然存在旧版本的JDK,但除了物流之外,是否有人有一个令人信服的技术理由来支持1.4 JDK?

谢谢,

史蒂夫

java legacy frameworks open-source

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

识别马尔可夫生成内容的算法?

马尔可夫链是一种(几乎标准的)产生随机乱码的方式,对于未经训练的眼睛看起来很聪明.您将如何从人类书面文本中识别马尔可夫生成的文本.

如果您指向的资源是Python友好的,那将是非常棒的.

python algorithm markov

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