问题列表 - 第18344页

C++:auto_ptr +转发声明?

我有一个这样的课:

class Inner;

class Cont
{
public:
    Cont();
    virtual ~Cont();
private:
    Inner* m_inner;
};
Run Code Online (Sandbox Code Playgroud)

在.cpp中,构造函数创建了一个Innerwith new和析构函数delete的实例.这工作得很好.
现在我想更改此代码以便使用,auto_ptr所以我写道:

class Inner;

class Cont
{
public:
    Cont();
    virtual ~Cont();
private:
    std::auto_ptr<Inner> m_inner;
};
Run Code Online (Sandbox Code Playgroud)

现在,构造函数初始化了auto_ptr,而析构函数什么都不做.

但它不起作用.当我实例化这个类时,问题似乎就出现了.我收到这个警告:

警告C4150:删除指向不完整类型'Inner'的指针; 没有破坏者叫

好吧,这显然非常糟糕,我明白为什么会发生这种情况,编译器不知道Inner实例化模板的时候auto_ptr<Inner>

所以我的问题:是否有一种方法可以使用auto_ptr前向声明,就像我在仅使用普通指针的版本中所做的那样?我
必须向#include每个班级宣布一个指针是一个巨大的麻烦,有时候,这是不可能的.这个问题通常是如何处理的?

c++ pointers memory-management auto-ptr shared-ptr

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

删除ruby字符串中逗号之前的空格

嘿,我使用reg表达式从ruby字符串中删除括号和它们之间的内容.问题是这有时在逗号之前留下空格.我不知道如何去除这个空间.我一直在玩以下但它没有工作:

 @char_count = 0
 sentance.each_char{|char| 
   if char == ","
     if sentance[@char_count-1] == 32
       sentance[@char_count-1] = "" 
     end
   end
   @char_count += 1
 }
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

编辑:sentance.gsub!(/,/,',')运行良好,但现在我意识到有些地方在逗号之前有多个空格.我也需要考虑这个场景.

ruby string

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

包含头文件时,路径是否区分大小写?

鉴于此目录树:

src/MyLibrary/MyHeader.h
src/file.cpp

file.cpp:

#include "mylibrary/myheader.h"
...
Run Code Online (Sandbox Code Playgroud)

编译file.cpp与VS一起使用,在gcc中失败.

  • 标准说什么?
  • 如果路径区分大小写,为什么这是明智的?
  • 什么是最佳做法,将所有文件/文件夹名称保持为小写,从而在包含时也这样做?

谢谢.

c++ linux windows gcc visual-studio

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

如何使用WCF/JSON对用户进行身份验证和跟踪?

我正在WCF中实现一项服务,需要通过用户名/密码进行自定义用户身份验证.此服务配置为WebScript(JSON)服务.

我想知道是否有可能获得安全上下文,所以我不必在每次调用中包含哈希或用户/传递.我知道我可以使用证书,但我需要使用身份验证的使用/传递机制.

我将使用AJAX(jQuery)与此服务进行通信,并且应该可以使用基本的HTTP身份验证.

此服务稍后还会公开其他端点,例如通过TCP,这确实支持"正确"的身份验证.

在WCF中有很多方法可以保证安全性,我觉得有点迷失,感觉就像我读的越多,我知道的就越少.

.net ajax wcf web-services

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

基于原型的语言

我真的是javascript的忠实粉丝.它真的是一个伟大的基于原型的OOP语言.现在我想学习一些其他基于原型的语言.真的对一些设计指南感兴趣,即如何在没有课程等的情况下管理代码.我应该选择哪种语言?基于原型语言的设计模式中的一些资源?

javascript design-patterns prototype

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

表单验证和业务验证是否过多?

我有关于表单验证和业务验证的问题.我看到很多使用某种表单验证库的框架.您提交了一些值,库会验证表单中的值.如果不行,它将在您的屏幕上显示一些错误.如果全部计划,则将值设置为域对象.这里的值将是或者,更好的说,应该再次验证.很可能在验证库中进行相同的验证.我知道2个PHP框架具有这种构造Zend/Kohana.

当我看到编程和一些原则,如不要重复自己(DRY)和单一责任原则(SRP)时,这不是一个好方法.如你所见,它验证了两次.为什么不创建进行实际验证的域对象.

示例:提交包含用户名和电子邮件表单的表单.用户名字段和电子邮件字段的值将填充在2个不同的域对象中:用户名和电子邮件

class Username {}
class Email {}
Run Code Online (Sandbox Code Playgroud)

这些对象验证其数据,如果无效则抛出异常.你同意吗?您如何看待这种方法?有没有更好的方法来实现验证?我对很多处理这些东西的框架/开发人员感到困惑.他们都错了还是我错过了一点?

编辑:我知道还应该有客户端类的验证.在我的意见中,这是一个不同的球赛.如果您对此有一些评论以及处理此类内容的方法,请提供.

oop frameworks domain-driven-design dry single-responsibility-principle

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

位置感知移动浏览器

我想构建一个需要用户位置的移动Web应用程序.我希望避免为单独的移动平台创建应用程序的需求,并且移动浏览器的日益复杂化似乎是一种解决方法.

哪些移动浏览器允许客户端JavaScript使用手机的GPS或手机信号塔数据?

过去有过这方面的几个问题,但我在当前或可预见的未来都在徘徊.

谢谢,

吉尔

javascript mobile gps geolocation mobile-website

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

如何使用PHPUnit测试Webservices?

我需要测试几个SOAP Web服务.我可以运行哪些类型的测试?

php phpunit soap unit-testing web-services

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

XSD和WSDL有什么区别

XML Schema和之间有什么区别WSDL

我注意到的差异是WSDL包含XSDWSDL我们可以声明操作,但不是XSD.那是对的吗?

xsd wsdl web-services

164
推荐指数
4
解决办法
21万
查看次数

堆/堆栈和多个进程

假设我有两个正在运行的进程p1,p2作为我的应用程序的一部分。

假设p1开始运行时先执行f1()函数,然后f1()调用f2()。f2()的调用使p2开始执行

我要确认的是:-1)我们是否为不同的流程使用了单独的堆栈?

2)我们有用于不同进程的单独堆吗?还是不同的进程共享同一堆?

3)我们知道,对于32位操作系统,每个进程的虚拟内存大小为4GB。对于每个具有4GB虚拟内存的进程,这4GB也会划分为堆,堆栈,文本,数据

谢谢。

memory memory-management process

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