我正在尝试将shared_ptr与我的班级一起使用但由于某种原因我得到了段错误.也许我做的事情很愚蠢.
#include <tr1/memory>
#include <iostream>
class Dataset ;
typedef int DataClass;
class Dataset_Impl{
friend class Dataset ;
DataClass *dc;
Dataset_Impl(){dc = new DataClass[10];}
public:
void getSubset(Dataset_Impl* &dObj){
dObj = new Dataset_Impl(); //Causing segfault when using shared_ptr
/*copy subset of 'dc' to dObj->dc and return*/std::cout<<"Copied subset";
}
};
class Dataset{
Dataset_Impl *d;
public:
Dataset (){};
inline void const getSubset(Dataset &dObj) const{d->getSubset(dObj.d);}
};
int main(){
Dataset m1,subset1;std::shared_ptr<Dataset> subset2;
m1.getSubset(subset1);
m1.getSubset((*subset2)); //Causing segfault
}
Run Code Online (Sandbox Code Playgroud) 我刚写了这段代码:
private double PerformOperation(OperationEnum operation, double aggregateValue,
double sourceValue)
{
if (operation == OperationEnum.Sum)
return aggregateValue + sourceValue;
if (operation == OperationEnum.Subtract)
return aggregateValue - sourceValue;
if (operation == OperationEnum.Multiply)
return aggregateValue * sourceValue;
if (operation == OperationEnum.Divide)
return aggregateValue / sourceValue;
throw new InvalidOperationException("Unsupported Aggregation Operation");
}
Run Code Online (Sandbox Code Playgroud)
这似乎非常重复.有没有办法概括这个?所以除了不同的标志,我不必有4条相同的线条?
(注意:如果有更好的方法不使用那么OperationEnum好)
可以在多态中使用boost :: smart_ptr,如scoped_ptr和shared_ptr吗?
class SomeClass
{
public:
SomeClass()
{
a_ptr.reset(new SubClass);
}
private:
boost::scoped_ptr<SuperClass> a_ptr;
}
Run Code Online (Sandbox Code Playgroud) 现在,我的Zend Framework应用程序的视图脚本位于application/views/scripts目录中.是否可以将此位置更改为可配置的位置?
我假设这在index.php文件或我的application.ini文件中的某个地方.
我的IDE不知道我使用Subversion,每当我重命名一个类(Java)时,它都会重命名该文件而不通知版本控制系统.我当然希望保留文件的历史记录.据我所知,在TortoiseSVN中有一个名为"修复移动"的选项来修复移动,但这不是一个选项,因为我在Ubuntu上.有没有办法从命令行修复移动?
我对nhibernate有一种奇怪的行为.问题是nhibernate在删除实体之前执行更新.我有一个Category类和一个Product类.类别有一袋产品.当我从Category中删除产品时,nhibernate会执行以下操作:
这是映射
<class name="Category">
<id name="Id">
<generator class="hilo" />
</id>
<property name="Name" lazy="false" length="20" />
<bag name="Products" cascade="all-delete-orphan" lazy="false"
inverse="false">
<key column="CategoryId" />
<one-to-many class="Product" />
</bag>
</class>
<class name="Product">
<id name="Id">
<generator class="hilo" />
</id>
<property name="Name" lazy="false" />
<property name="Discontinued" lazy="false" />
<property name="Price" lazy="false" />
<many-to-one name="Category"
class="Category"
column="CategoryId"
cascade="none" />
</class>
Run Code Online (Sandbox Code Playgroud)
这是代码
using (var session = NHibernateHelper.OpenSession())
using (var transaction = session.BeginTransaction())
{
var c1 = session.Load<Category>(32768);
c1.Ps.RemoveAt(0);
session.SaveOrUpdate(c1);
transaction.Commit();
}
Run Code Online (Sandbox Code Playgroud)
这是结果:
exec sp_executesql …Run Code Online (Sandbox Code Playgroud) 我有一个庞大的网站目录列表.例:
/folder/folder2/folder3/page.htm
/folder/folder2/folder3/page2.htm
/folder/folder2/folder3/page3.htm
/folder/folder2/folder3/page4.htm
Run Code Online (Sandbox Code Playgroud)
我想清理/folder2路径中所有项目的列表.我需要一个正则表达式来执行查找和替换所有使用/folder2/和删除列表中的行的内容.所以用空白查找/替换它.
有谁知道这个正确的正则表达式是什么?我应该指定我使用Dreamweaver作为我的编辑器,它可能使用不同的正则表达式.
这个Java代码,
"<a href='file:///" + curBP.get_build_path() + "'>" + curBP.get_build_path() + "</a>"
Run Code Online (Sandbox Code Playgroud)
输出到浏览器.
在页面上,HTML是:
<a href="file:///\\path\to\shared\file">Shared File</a>
Run Code Online (Sandbox Code Playgroud)
但是,它不会打开该文件.我尝试了无数其他的斜杠组合,但无济于事.在FireFox中,它的作用类似于死链接,不会打开文件.在IE中,它的工作原理.
有关如何使其在FireFox中工作的任何想法?谢谢!
我希望创建一个Web性能测试,可以绑定到带有用户名和密码的CSV文件,以便我可以与不同的用户一起运行并发测试.如何修改录制的WebTest以实现此目的?