问题列表 - 第16977页

const函数中的成员赋值

我有一个类成员myMember,它是一个myType指针.我想在声明为const的函数中分配此成员.我这样做:

void func() const
{
     ...
     const_cast<myType*>(myMember) = new myType();
     ...
}
Run Code Online (Sandbox Code Playgroud)

这样做在VC++中工作正常,但GCC给出了错误消息"左值作为赋值的左值".

使成员可变允许我简单地删除const_cast并分配值.但是,我并不完全确定这会带来其他副作用.

我可以指定我的会员而不必让会员变成可变的吗?怎么样?是否有任何副作用使成员变得可变?

c++ const function member variable-assignment

9
推荐指数
4
解决办法
8925
查看次数

Django多表继承VS在模型中指定显式的OneToOne关系

希望这一切都有道理:)如果有必要,我会通过评论澄清.另外,我正在尝试在这个问题中使用粗体文本,如果我(或你)发现它分散注意力,我会编辑它.随着那个...

使用django.contrib.auth为我们提供了用户和组,以及其他一些我不能没有的有用的东西(比如基本消息).

在我的应用程序中,我有几种不同类型的用户.用户只能是一种类型.这可以很容易地由小组处理,稍微小心点.但是,这些不同的用户在层次结构/关系中彼此相关.

我们来看看这些用户: -

校长 - "顶级"用户

管理员 - 每个管理员向校长报告

协调员 - 每个协调员向管理员报告

除此之外,还有其他用户类型不直接相关,但可能会在以后相关.例如,"公司"是另一种类型的用户,并且可以具有各种"产品",并且产品可以由"协调员"监督."买方"是另一种可能购买产品的用户.

现在所有这些用户都有各种其他属性,其中一些属性对所有类型的用户都是通用的,其中一些属性仅与一种用户类型不同.例如,所有类型的用户都必须拥有一个地址.另一方面,只有Principal用户属于"BranchOffice".

另一点,如上所述,用户只能是一种类型.

该应用程序还需要跟踪谁创建和/或修改了校长,管理员,协调员,公司,产品等.(这是用户模型的另外两个链接.)

在这种情况下,使用Django的多表继承是一个好主意如下: -

from django.contrib.auth.models import User
class Principal(User):
    #
    #
    #    
    branchoffice = models.ForeignKey(BranchOffice)
    landline = models.CharField(blank=True, max_length=20)    
    mobile = models.CharField(blank=True, max_length=20)
    created_by = models.ForeignKey(User, editable=False, blank=True, related_name="principalcreator")    
    modified_by = models.ForeignKey(User, editable=False, blank=True, related_name="principalmodifier")
    #
    #
    #
Run Code Online (Sandbox Code Playgroud)

或者我应该这样做: -

class Principal(models.Model):
    #
    #
    #
    user = models.OneToOneField(User, blank=True)
    branchoffice = models.ForeignKey(BranchOffice)
    landline = …
Run Code Online (Sandbox Code Playgroud)

django inheritance multi-table

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

设置文件和目录的文件权限

我需要将以下权限策略应用于我的文件www夹下的文件

664递归地向www中的所有文件,递归地在www下的所有目录中的755

我试过了

find . -type f -exec chmod 644 {} ; 
find . -type d -exec chmod 755 {} ; 
Run Code Online (Sandbox Code Playgroud)

但总是得到错误

find: missing argument to `-exec'
Run Code Online (Sandbox Code Playgroud)

解决办法是什么?

linux permissions shell file

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

Eclipse插件的集中式异常处理

起初我认为这将是经常被问到的问题,但是尝试(并且失败)查找有关这方面的信息证明我错了.

Eclipse平台中是否存在用于异常的集中异常处理的机制?

例如......您有插件项目,它连接到数据库并发出查询,其结果用于填充一些例如视图.这就像有史以来最常见的例子.:)几乎任何用户操作都会执行查询,从插件提供的每个UI控件开始.很可能DB Query API将特定于DB SomeDBGeneralException声明为由它抛出.没关系,你可以根据你的软件设计处理那些.但是,如果未经检查的异常可能会发生,例如,当与DB的通信突然因某些网络相关原因而中断时?如果在这种情况下,人们希望在中心位置捕获这些异常并且例如向用户提供用户友好的消息(而不是低级通信协议api消息)甚至用户可以执行以便处理的一些可能的动作.具体问题?

在Eclipse平台上下文中思考,问题可以改为"是否有像org.eclipse.ExceptionHandler这样的扩展点",它允许为特定(某种过滤支持)异常声明异常处理程序,从而为实际提供了很大的灵活性处理?"

eclipse exception-handling

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

Javascript Regex匹配第一个匹配项

我有这个正则表达式(它没有做我想要的):/^.*\/(eu|es)(?:\/)?([^#]*).*/实际上是js版本:/^.*/(eu|es)(?:/)?([^#]*).*/

嗯,它没有做我想要的,当然它的工作原理.:)鉴于此URL:

  • http:// localhost/es - > [1] = es,[2] =''
  • http:// localhost/eu/bla/bla #wop - > [1] = eu,[2] ='bla/bla'
  • http:// localhost/eu/bla/eubla - > [1] = eu,[2] ='bla'

前两个网址按预期工作.第三个不是我想要的.由于后来在网址上找到"eu",它与第二个eu而不是第一个eu匹配.所以我希望它符合这个:[1] ='eu',[2] ='bla/eubla'

我该怎么办?

谢谢.:)

javascript regex

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

哪种Swing组件方法是线程安全的?

根据Swing教程:

一些Swing组件方法在API规范中标记为"线程安全"; 这些可以从任何线程安全地调用.必须从事件派发线程调用所有其他Swing组件方法.忽略此规则的程序可能在大多数情况下正常运行,但会遇到难以重现的不可预测的错误.

但是这些标记为"线程安全"的Swing组件方法是什么?实际上有吗?


更新/赏金:

是否有完整的线程安全摆动方法列表?(线程安全的Swing方法似乎很少见,所以这样的列表不能太长......)

java swing thread-safety

19
推荐指数
3
解决办法
6902
查看次数

如何在控件渲染时显示一些动画?

我有WPF ListBox显示了很多数据.我需要平滑滚动,所以我设置ListBox.ScrollViewer.CanContentScroll为False禁用虚拟化.现在,当我打开ListBox放置它的选项卡时,我几乎看不到任何东西,因为ListBox正在加载/创建项目/渲染.我还有一个控件,显示一些动画,表明应用程序正在运行,用户应该稍等一下.

如何在ListBox无法使用时显示此控件?

wpf animation xaml rendering listbox

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

如何将std :: wstring与std :: istringstream一起使用?

我正在尝试编写一个模板函数,它将从给定的字符串中提取给定数据类型的值.我提出了这样的事情:

   template<class T>
    static T getValue(const CString& val_in)
    {
        std::wstring value = val_in;
        std::istringstream iss;
        iss.str(value);

        T val = T();
        iss>>val;
        return val;
    }
Run Code Online (Sandbox Code Playgroud)

但是这会给iss.str(value)语句带来以下错误.

错误C2664:'void std :: basic_istringstream <_Elem,_Traits,_Alloc> :: str(const std :: basic_string <_Elem,_Traits,_Ax>&)':无法将参数1从'std :: wstring'转换为'const std :: basic_string <_Elem,_Traits,_Ax>&'

所以基本上std::istringstream只接受std::string.我以为可能有一个,std::wistringstream但似乎没有一个可用.任何线索我该怎么办?

c++ stl stream

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

Python,线程和gobject

我正在使用pygtk通过框架编写程序.主程序做了以下事情:

  1. 创建一个监视程序线程来监视某些资源
  2. 创建一个客户端以从套接字接收数据
  3. 呼叫 gobject.Mainloop()

但似乎在我的程序进入Mainloop后,监视程序线程也将无法运行.

我的解决方法是使用gobject.timeout_add运行监视器的东西.

但为什么创建另一个线程不起作用?

这是我的代码:

import gobject
import time
from threading import Thread

class MonitorThread(Thread):

    def __init__(self):
        Thread.__init__(self)

    def run(self):
        print "Watchdog running..."
        time.sleep(10)

def main():

    mainloop = gobject.MainLoop(is_running=True)

    def quit():
        mainloop.quit()

    def sigterm_cb():
        gobject.idle_add(quit)


    t = MonitorThread()
    t.start()

    print "Enter mainloop..."

    while mainloop.is_running():
        try:
            mainloop.run()
        except KeyboardInterrupt:
            quit()

if __name__ == '__main__':

    main()
Run Code Online (Sandbox Code Playgroud)

程序只输出"Watchdog running ...输入mainloop ..",然后什么都没有.进入mainloop后似乎线程永远不会运行.

python multithreading pygtk

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

在python中导入一个数组

如何从文件中将数组导入python(numpy.arry),如果文件尚不存在,则必须写入该文件.

例如,将矩阵保存到文件然后加载回来.

python numpy

13
推荐指数
2
解决办法
10万
查看次数