问题列表 - 第32830页

Facade,Proxy,Adapter和Decorator设计模式之间的区别?

Facade,Proxy,Adapter和Decorator设计模式有什么区别?

我从来没有读过明确的解释,你的是什么?

proxy design-patterns facade decorator adapter

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

使用jQuery从文件输入的完整路径

当我调用val()输入时,type="file"我只获取文件名而不是完整路径.我怎样才能获得完整的路径?

jquery file-type input

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

C++:如何阻止函数接受内联分配的指针?

无法弄清楚如何准确地说出问题,所以这是一个例子:

鉴于此功能原型:

void Foo(myClass* bar);
Run Code Online (Sandbox Code Playgroud)

我想阻止这种用法:

Foo(new myClass());
Run Code Online (Sandbox Code Playgroud)

而是需要先前创建的对象:

myClass* bar = NULL;
bar = new myClass();
Foo(bar);
Run Code Online (Sandbox Code Playgroud)

要么

myClass bar;
Foo(&bar);
Run Code Online (Sandbox Code Playgroud)

谢谢.


编辑

这是一个澄清的例子:


void Mouse::SetImage(BITMAP* image, int focusX, int focusY) {
    if(_image) {
        set_mouse_sprite(NULL);
        set_mouse_sprite_focus(0, 0);
        show_mouse(NULL);
        destroy_bitmap(_image);
        _image = NULL;
    }
    if(image) {
        _image = create_bitmap(image->w, image->h);
        clear_bitmap(_image);
        blit(image, _image, 0, 0, 0, 0, image->w, image->h);
    }
    if(image == NULL) {
        focusX = 0;
        focusY = 0;
    }
    _focusX = focusX;
    _focusY = …
Run Code Online (Sandbox Code Playgroud)

c++ parameters pointers function allegro

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

如何在C中输入指向char的指针数组?

假设我在C中有一个指向char的指针数组:

char *data[5] = { "boda", "cydo", "washington", "dc", "obama" };
Run Code Online (Sandbox Code Playgroud)

我希望使用qsort对这个数组进行排序:

qsort(data, 5, sizeof(char *), compare_function);
Run Code Online (Sandbox Code Playgroud)

我无法提出比较功能.由于某种原因,这不起作用:

int compare_function(const void *name1, const void *name2)
{
    const char *name1_ = (const char *)name1;
    const char *name2_ = (const char *)name2;
    return strcmp(name1_, name2_);
}
Run Code Online (Sandbox Code Playgroud)

我做了很多搜索,发现我必须**在qsort里面使用:

int compare_function(const void *name1, const void *name2)
{
    const char *name1_ = *(const char **)name1;
    const char *name2_ = *(const char **)name2;
    return strcmp(name1_, name2_);
}
Run Code Online (Sandbox Code Playgroud)

这很有效.

任何人都可以解释*(const char **)name1这个功能的使用吗?我根本不明白.为什么双指针?为什么我原来的功能不起作用?

谢谢,Boda …

c sorting qsort double-pointer

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

函数ereg()已弃用

我正在通过我的代码来替换我正在使用ereg()函数的任何实例 - 我用它来匹配字符串中的正则表达式.

如果某人有比我正在使用的更好的方法,我可以使用一点方向.

这是我以前的旧"货币验证"脚本:

    function valid_currency($number){
     if(ereg('^[0-9]+\.[0-9]{2}$', $number))
      return true;
     else
     return false;
    }

    if(valid_currency(25.30)){ 
          echo "valid currency"; 
   }else{ 
          echo "invalid currency string"; 
   }
Run Code Online (Sandbox Code Playgroud)

我用preg_match()替换了ereg().

我现在收到此错误:

警告:preg_match()[function.preg-match]:没有结束分隔符'^'

我猜测正则表达式语法未被识别.从这里我有点卡住了.

php preg-match

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

我可以使用什么而不是eval()?

我有一个字符串,存储一些必须执行以产生结果的变量,例如:

define('RUN_THIS', '\$something.",".$somethingElse');
Run Code Online (Sandbox Code Playgroud)

然后是eval()-uated:

$foo = eval("return ".RUN_THIS.";");
Run Code Online (Sandbox Code Playgroud)

我理解,如果获得评估的字符串来自用户输入,则eval是不安全的.但是,如果我想让所有东西都运行Facebook的HipHop,它不支持eval(),我就不能这样做了.

显然我可以使用call_user_func()- 这实际上是有效的结果eval()吗?eval()如果确实如此,那么如何不被认为是安全的?

编辑: 在回应评论时,我最初没有说明目标是什么.该常量是事先定义的,以便后面的代码,无论是在有权访问配置常量的类中,还是程序代码,都可以使用它来评估给定的变量字符串.需要评估的变量可以根据情况而变化(完全不同的名称,顺序,格式),但它以相同的方式运行相同的目的,这就是为什么我当前在此常量中设置变量字符串的原因办法.从技术上讲,eval()只要定义常量的config.php受到控制但这不是问题的重点,并不是不安全的.

php eval

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

Android中startActivityForResult()的机制是什么?

我有一项活动.在此活动中,我想使用startActivityForResult()启动另一个活动.据我所知,我的基本活动是在一个主GUI线程的进程中启动的.但据我所知,startActivityForResult()是异步的,这意味着我的新活动将在不同的线程中执行.我无法找到有关内部线程的信息.如果只有一个GUI线程,这些函数如何异步工作?

multithreading android

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

如何使用Spring 2.5将资源注入EJB3 bean?

如果我在使用Spring 2.5 for DI的应用程序中创建EJB3 bean(比如无状态会话bean),我应该如何将Spring中的依赖项注入bean而不将bean耦合到Spring?

java spring java-ee ejb-3.0

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

如何克隆具有特定版本/变更集的git存储库?

如何克隆具有特定修订版的git存储库,就像我在Mercurial中通常所做的那样:

hg clone -r 3 /path/to/repository
Run Code Online (Sandbox Code Playgroud)

git revision git-clone

363
推荐指数
10
解决办法
43万
查看次数

Scala:将返回类型转换为自定义特征

我编写了一个扩展Iterator [A]的自定义特性,我希望能够使用我在另一个方法返回的迭代器[A]上编写的方法.这可能吗?

trait Increment[+A] extends Iterator[A]{
    def foo() = "something"
}

class Bar( source:BufferedSource){
    //this ain't working
    def getContents():Increment[+A] = source getLines
}
Run Code Online (Sandbox Code Playgroud)

我仍然试图绕过整个隐含的东西而不是在Bar对象定义中编写方法.我将如何以上述方式包装这样的物品?

scala implicit implicit-typing implicit-conversion

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