问题列表 - 第2367页

在VC++ 8中替换auto_ptr

std::auto_ptr在VC++ 8(这是我们在工作中使用的)中被破坏了.我对它的主要抱怨是,它允许auto_ptr<T> x = new T();,当然导致可怕的崩溃,而错误地做的很简单.

从stackoverflow上的另一个问题的答案:

请注意,Visual Studio 2005中std :: auto_ptr的实现严重受损. http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=98871 http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=101842

我想用

  • boost::scoped_ptr,对于不应该通过所有权的指针.
  • boost::shared_ptr,用于容器中的指针以及需要它们的其他地方.
  • std::auto_ptr,对于应该/可以通过所有权的指针.

但是因为std::auto_ptr对我而言是破碎的,我想知道什么是最好的方法:

  • std::auto_ptr网上的东西替换.像这样一个从拉尼Sharoni(还没有尝试过呢).
  • boost::shared_ptr改用.当然会工作,虽然会有一些我不关心的小开销.但我想用它auto_ptr来表示指针的意图.(有关方法的投票,请参阅答案.)
  • 我永远不需要在实践中通过所有权,所以我不应该担心这一点.

更新:这就是我所做的:我复制了Rani Sharoni提到的auto_ptr实现.从这里开始.

做了一些小测试:

class T
{
public:
    T() {
        OutputDebugStringA("T\n");
    };
    ~T() {
        OutputDebugStringA("~T\n");
    };
};

{
    fix::auto_ptr<T> x(new T); // This just works.
}
{
    fix::auto_ptr<T> x = (new T); // Doesn't compile. …
Run Code Online (Sandbox Code Playgroud)

c++ smart-pointers

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

Delphi Prism/Oxygene中的Lambda表达式

我一直在试验Oxygene中的Lambda表达式.非常简单的递归lambda表达式来计算斐波那契数:

var fib : Func<int32, int32>;
fib := n -> iif(n > 1, fib(n - 1) + fib(n - 2), n);
fib(3);
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我得到一个nullreferenceexception.关于我做错了什么的任何想法?

delphi lambda fibonacci oxygene

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

我在哪里可以找到免费天气图标?

/sf/ask/9796111/相关

我需要免费的天气相关图标.具体来说,我需要你在十天预报中看到的图标(晴天/夜晚,阴雨天/夜晚等)我在哪里可以找到这样的图像?

要求:就像上面提到的问题的作者一样,我宁愿不要剥夺任何人的知识产权.

icons image weather

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

你用了什么Object.clone()?

一位同事最近问我如何深度克隆Map,我意识到我可能从未使用过克隆()方法 - 这让我很担心.

您找到克隆对象的最常见方案是什么?

java

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

jquery圆角

这可能听起来很愚蠢,但我不知道如何实现jquery的圆角(http://www.methvin.com/jquery/jq-corner-demo.html).我的javascript-fu完全失败,我似乎无法让它在我的页面上工作.任何人都可以向我展示一个简单的HTML和JavaScript示例,用于展示它们吗?为我的愚蠢道歉.

javascript jquery rounded-corners

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

Java中的任何轻量级模板解决方案都支持条件格式化?

我正在使用MessageFormat使用如下模板格式化一些地址:

"{0}\n{1}\n{2}\n{3}, {4} {5}"
Run Code Online (Sandbox Code Playgroud)

哪里

  • 0 =街道1
  • 1 =街道2
  • 2 =街道3
  • 3 =城市
  • 4 =状态
  • 5 =拉链

捕获时,大多数这些字段都是可选的.例如,如果没有街道3,我该如何避免空行?我可以使用这样的模板"{0} {1} {2} {3} {4} {5}",然后相应地替换"street 3 \n"或"",但模板不提供对格式化有很大好处.

有没有办法在格式字符串中包含条件?或者是否有另一种,最好是轻量级的模板工具,它支持条件格式化?

java string templates template-engine stringtemplate

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

你能通过简单的C代码使监视器过热吗?

一位教授告诉我,使用C代码可以将旧显示器上的单个像素加热到显示器会过热和冒烟的程度.有没有人遇到任何支持这个的东西?我正在办公室就是否可能进行辩论.

monitor overheating

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

微软BizSpark对初创公司来说是一笔好交易吗?

我前几天了解了Microsoft BizSpark,并开始了注册过程.还有其他人听说过它还是成功了?

msdn bizspark

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

在C++中通过值传递或通过常量引用传递是否更好?

在C++中通过值传递或通过常量引用传递是否更好?

我想知道哪个是更好的做法.我意识到通过常量引用传递应该在程序中提供更好的性能,因为你没有复制变量.

c++ variables constants pass-by-reference pass-by-value

203
推荐指数
6
解决办法
10万
查看次数

Reporting Services报告中的自定义代码

在Reporting Services中,我想添加一个包含自定义代码块数据的参数.理想情况下,我将能够运行以下代码(这是一个简单的测试示例):

Function GetPeriods() As String()
 Dim values As System.Collections.ArrayList = 
    New System.Collections.ArrayList()
 For i as integer = 1 to 24
    values.Add(i)
 Next
 Return values.ToArray()
End Function
Run Code Online (Sandbox Code Playgroud)

并将以下内容放在参数的"文本字段"中:

=Code.GetPeriods()
Run Code Online (Sandbox Code Playgroud)

但是,当我运行报表时,我应用此参数的参数被禁用并为空.是否应该使用不同的技术?或者我做错了什么?

reporting-services

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