问题列表 - 第41795页

参考任何类型的类模板

我正在编写C++代码,它引用了一个依赖于特定硬件,固件和驱动程序的类.我想把接口用于测试,但是有一些障碍让我感到难过.我正在接口的类是自动生成的(不是我的想法)所以我不能从定义接口的基类继承它.我需要调用的方法不是虚拟的,因此我的测试存根不能从它继承并覆盖方法.

在我看来,我可以创建一个模板化的包装类,只是将调用重定向到它所键入的类.我会有类似......

template< class T >
class DriverInterface
{
    public:
        DriverInterface( T& driverImpl ):
        m_driverImpl( driverImpl )
        {
        }

        virtual ~DriverInterface( void )
        {
        }

        virtual void GetDataBuffer( char *&pData, int &bufLen )
        {
            m_driverImpl.GetDataBuffer( pData, bufLen );
        }

        virtual void WriteDataBuffer( char *pData, int bufLen )
        {
            m_driverImpl.WriteDataBuffer( pData, bufLen );
        }
    protected:
        T& m_driverImpl;

    private:
};

class DriverWriter
{
    public:
        DriverWriter( DriverInterface& driverInterface );
    //etc
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,编译器要我在DriverWriter类的DriverInterface上指定一个类型参数.有没有办法重构代码,以便我不需要指定类型?

c++ templates pass-by-reference

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

关于N层应用的新手的建议

好的人,这是你的另一个:

我是从n层应用程序世界开始的.我已经对这个主题做了一些阅读,一般的建议是n层应用程序的目标是抽象层间的功能.因此,基于此,在n层应用程序中,常规模型是:

Data Access -> Business Layer -> Presentation

由于我是.NET开发人员,我认为为了增强与多种客户端类型(Silverlight,Web应用程序甚至是WinForms客户端)的集成,我应该使用WCF(Windows Communication Foundation)作为业务层的数据服务,以便客户端可以进行通信无论其类型如何.另外,作为ORM,我是NHibernate的忠实粉丝.所以我的结构是这样的:

Data Access (NHibernate) -> Business Layer (WCF) -> Presentation (WPF, ASP.NET, WinForms

好的,这就是设置.我是这种方法的新手,所以我想我可以在这里发帖请求有关此设置的建议.另外,我对如何在VS解决方案中设置它感到困惑,我喜欢在不同的项目中分离层,但是对于数据对象的抽象(如Customer,Order等)呢?我把em放在一个单独的库中吗?那么WCF呢?我知道通过线路将数据类传输到客户端是一个程序员的罪.专业人士实现这一目标的方式是什么?

谢谢,任何建议将非常感谢.

c# nhibernate n-tier-architecture

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

如何用.jpg选择图像

有什么方法可以用.jpg定位图像吗?

例如,以下代码放大了所有图像.但是我想只放大.jpg.

/*
 * If a page url contains /art-8 (not cart-8), then do this.
 * Add a link to zoom an image on the first image on a product page  
 */
if (/[^c]art-8/.test(location.pathname)) {

$("#system #product_cont img").wrapAll("<ul class=\"cont_thumb\">").wrap("<li>");
$(".cont_thumb").after("<div style='clear:both;padding-bottom: 20px;'></div> ");



$("ul.cont_thumb li").hover(function(){
    $(this).css({
        'z-index': '10'
    });
    $(this).find('img').addClass("hover").stop().animate({
        marginTop: '0px',
        marginLeft: '-35px',
        top: '50%',
        left: '50%',
        width: '344px',
        height: '258px',
        padding: '0px'
    }, 200);

}, function(){
    $(this).css({
        'z-index': '0'
    });
    $(this).find('img').removeClass("hover").stop().animate({
        marginTop: '0',
        marginLeft: '0',
        top: '0',
        left: …
Run Code Online (Sandbox Code Playgroud)

jquery

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

列出Android中的所有相机图像

你如何获得Android设备的所有相机图像列表?

是通过MediaStore吗?怎么样?

camera android gallery mediastore android-contentresolver

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

Python垃圾收集器文档

我正在寻找详细描述python垃圾收集如何工作的文档.

我很感兴趣在哪一步做了什么.这三个系列中有哪些对象?每个步骤中删除了哪些对象?什么算法用于参考循环发现?

背景:我正在实施一些必须在很短的时间内完成的搜索.当垃圾收集器开始收集最老的一代时,它比其他情况"慢得多".花了比搜索更多的时间.我正在寻找如何预测它将收集最老一代的时间以及需要多长时间.

这是很容易预测它什么时候会收集最古老的一代与get_count()get_threshold().这也可以用set_threshold().但是,我不认为collect()通过武力或等待预定的收集更好地决定是否更好.

python garbage-collection

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

正则表达式范围1-1000

可能重复:
正则表达式,其中字符串的一部分必须在0到100之间

我需要帮助创建一个1-1000的整数范围的简单正则表达式,没有特殊字符.

这两个我似乎都打破或允许字符或不完整范围:

  1. ^\d(\d)?(\d)?$
  2. ^[0-9]{1,3}$

任何帮助,将不胜感激!

regex

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

php函数和符号

可能重复:
用&符号启动PHP函数是什么意思?

例如,为什么某些php函数在其签名中具有"&"

function &getData()
Run Code Online (Sandbox Code Playgroud)

php function ampersand

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

编辑为非root用户后,以root身份保存文件

好的,所以这一切都发生在我身上.必须有一个更好的解决方案.让我们说你做vim /etc/somefile.conf,然后你做i但却意识到你不是sudo,你不能写.那么我就失去了我的改变,:q然后sudo !!又做了我的改变.有一个更好的方法吗?

linux vim bash sudo

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

传递给javascript的eval的单/双引号字符串之间有区别吗?

我有通过网络套接字发送的服务器消息.该消息是一个json(验证)字符串.当它到达浏览器时,我检查它是一个字符串,typeof(data)它告诉我它实际上是一个字符串.我最后这样做var some_obj = eval( '(' + data + ')' ); 会给我一个Uncaught SyntaxError: Unexpected token ILLEGAL错误.

此外,在使用之前eval(),我console.log(data)和它显示正确,虽然alert(data)在对话框中不会显示任何内容.

我无法理解发生了什么.

我也试过var myJson = '{ "x": "Hello, World!", "y": [1, 2, 3] }';,然后var myObj = eval( '(' + myJson + ')' );它工作,所以我真的不明白为什么我的无法评估(解析).

通过web-socket接收的字符串是这样的:

received 37 bytes » { "cmd": "setname", "params": "ok" }
Run Code Online (Sandbox Code Playgroud)

where data = { "cmd": "setname", "params": "ok" }(我猜的typeof(data)是引号,因为是= string).

有小费吗?谢谢

edit1»使用web-socket,你必须添加一个空字符(0 ascii)并将一个转义字符(255 …

javascript json eval websocket

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

将XML写入文件会破坏python中的文件

我正在尝试从一个xml.dom.minidom对象写入内容.简单的想法是使用'writexml'方法:

import codecs

def write_xml_native():
    # Building DOM from XML
    xmldoc = minidom.parse('semio2.xml')
    f = codecs.open('codified.xml', mode='w', encoding='utf-8')
    # Using native writexml() method to write
    xmldoc.writexml(f, encoding="utf=8")
    f.close()
Run Code Online (Sandbox Code Playgroud)

问题是它破坏了文件中的非拉丁文编码文本.另一种方法是获取文本字符串并将其显式写入文件:

def write_xml():
    # Building DOM from XML
    xmldoc = minidom.parse('semio2.xml')
    # Opening file for writing UTF-8, which is XML's default encoding
    f = codecs.open('codified3.xml', mode='w', encoding='utf-8')
    # Writing XML in UTF-8 encoding, as recommended in the documentation
    f.write(xmldoc.toxml("utf-8"))
    f.close()
Run Code Online (Sandbox Code Playgroud)

这会导致以下错误:

Traceback (most recent call last):
  File "D:\Projects\Semio\semioparser.py", line 45, …
Run Code Online (Sandbox Code Playgroud)

python xml file-io minidom

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