问题列表 - 第46625页

C++成员函数链接返回类型和派生类

鉴于这个人为的例子:

struct point_2d {
  point_2d& x( int n ) {
    x_ = n;
    return *this;
  }

  point_2d& y( int n ) {
    y_ = n;
    return *this;
  }

  int x_, y_;
};

struct point_3d : point_2d {
  point_3d& z( int n ) {
    z_ = n;
    return *this;
  }

  int z_;
};

int main() {
  point_3d p;
  p.x(0).y(0).z(0); // error: "point_2d" has no member named "z"
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我们的想法是使用"member-function chaining"来连续调用多个成员函数.(有很多例子;上面是我能想到的最短的一个问题.我的实际问题是类似的,如下所述.)

问题是,如果派生类添加了自己的链接成员函数,但是首先调用基类的成员函数,则会得到一个基类引用,当然不能用于调用派生类的成员函数.

有没有聪明的方法来解决这个问题,仍然保持成员函数链的能力?


实际问题

我的实际问题是我的基类是一个异常,我的派生类是从基本异常派生的类.对于那些类,我也想使用成员函数链接:

class base_exception : …
Run Code Online (Sandbox Code Playgroud)

c++ member-functions derived-class

9
推荐指数
2
解决办法
1473
查看次数

在C++类中初始化静态变量?

我注意到我的一些函数实际上没有访问对象,所以我创建了它们static.然后编译器告诉我他们访问的所有变量也必须是静态的 - 到目前为止,这是可以理解的.我有一堆字符串变量,如

string RE_ANY = "([^\\n]*)";
string RE_ANY_RELUCTANT = "([^\\n]*?)";
Run Code Online (Sandbox Code Playgroud)

在课堂上等等.然后我做了所有static const因为他们永远不会改变.但是,如果我将它们移出类,我的程序只会编译:否则,MSVC++ 2010会抱怨"只有静态常量变量可以在类中初始化".

那很不幸.有解决方法吗?我想把它们留在他们所属的班级里面.

c++ static initialization

69
推荐指数
7
解决办法
24万
查看次数

如何设置按钮灰色和不可点击?

我想设置按钮不可点击,看起来像一个按钮的深灰色图像?

这可能吗?

android

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

如何从SQL查询中获取整数输出

我有一个SQL查询如下:

    $tagID = mysql_query("SELECT tagID FROM tags WHERE tagName = '$tag'");
     echo $tagID;
Run Code Online (Sandbox Code Playgroud)

我希望$ tagID包含类似3,或5或任何整数的东西.但当我回应它时,输出是:

resource id #4
Run Code Online (Sandbox Code Playgroud)

我怎样才能使它成为一个简单的整数?

php mysql sql

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

下拉菜单中包含来自其他模型的值

我有属于收藏品的产品.集合只是一个名称.产品有collection_id.

在我用于创建和编辑产品的_form视图中,我想要一个带有所有集合名称的下拉菜单.

问题,似乎没有附加到form.for的选择方法,我试图使用:

select(method,choices,options = {},html_options = {})

从文档但我不明白.我必须写一个方法来创建一个表单?有哪些选择,有两种选择?两个参数应足以填充<option>标记.

我怎么能有一个下拉菜单让我通过集合名称为我的产品分配一个集合?

ruby-on-rails foreign-keys drop-down-menu

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

NInject和MVC 3 - 我应该使用DependencyResolver而不是[Inject]属性吗?

最近我转到MVC 3和Ninject 2.在大多数代码中,我使用构造函数注入,但是有一些地方,我必须使用Inject属性.Ninject 2注册自己的IDepencyResolver接口.我不喜欢DependencyResolver类是System.Web.Mvc命名空间的一部分,因为它的功能与MVC并没有真正的严格关系,但现在,当它存在时,我可以做

public SomeClass 
{
    public IUserService UserService { get; set; }

    public SomeClass()
    {
        UserService = DependencyResolver.Current.GetService<IUserService>();
Run Code Online (Sandbox Code Playgroud)

代替

public SomeClass 
{
    [Inject]
    public IUserService UserService { get; set; }
Run Code Online (Sandbox Code Playgroud)

所以我不必Ninject在我的类中引用命名空间.应该DependencyResolver这样使用?

asp.net-mvc dependency-injection ninject ninject-2 ninject.web.mvc

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

示例Zend Framework Project 1.8+

让我先说这个; 我知道存在类似的问题,但它们已经存在了几年,ZF正在快速变化.我想要一个更近期的例子.

已经注意到很多关于Zend Framework的文档缺乏.我已经阅读了很多并用它来启动一些应用程序,但我发现很难理解如何正确地执行操作.我最大的问题是各种组件属于哪里,应该在哪里实例化,等等.

我试图遵循MVC最佳实践,使用瘦控制器,胖模型.我也在尝试使用最新的MVC堆栈,包括Zend_Application和推荐的Bootstrap类.

我想看一个使用框架最佳实践的示例站点,它可以演示以下组件(理想情况):

  • Zend_ACL/Zend_Auth:如何在应用程序中实际使用它们,如何将它放入模型中等等.
  • Zend_Layout:如何使用菜单等常用部件正确执行此操作
  • Zend_Navigation:我大多不知道实例化这个的最佳实践.
  • Zend_Cache:再次,它属于哪里,你在控制器中使用它(可能吗?)
  • Zend_Db:我希望这个例子显然可以使用数据库,但我更喜欢使用ZF而不是Doctrine
  • Zend_Feed:我不完全确定如何正确制作RSS源(即设置内容类型等)
  • Zend_Form:我还没有用过它,但我知道它可以验证传递给Model的数据.我想看看这个在行动
  • Zend_Paginator:再次,你在哪里实例化,模型或控制器?

我知道我不需要在框架中使用所有东西,但我想尝试使用任何可能符合我需求的东西,我想了解更多相关信息.

那么你知道一个使用Zend MVC以及部分或全部这些组件的好例子吗?并且遵循了许多最佳实践?理想情况下,它使用至少1.10,但任何1.8或更高的内容就足够了.

php model-view-controller zend-framework

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

eclipse -restore缺少项目

由于某些未知原因,我在工作区中创建的项目不再列在包浏览器选项卡中.程序的实际文件仍然存在于指定工作区的闪存驱动器上.如何更正此问题以便我可以访问此工作区中的项目?

eclipse

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

ThreadLocals的效果和并行类加载

假设

class A{
         private static final ThreadLocal<String> tl = new ThreadLocal<String>();
}
Run Code Online (Sandbox Code Playgroud)

如果A只在vm上的一个类加载器中加载,则t1的值很明显.但是如果A在两个不同的类加载器中并排加载,t1会发生什么?是否会为给定的线程共享该值?

java classloader thread-local

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

使用AutoMapper将对象字段映射到数组?

是否可以使用C#中的automapper将对象的属性映射到数组/字典?我尝试过以下方法:

Mapper.CreateMap<FFCLeads.Models.FFCLead, Dictionary<string, SqlParameter>>()
    .ForMember(d => d["LeadID"], o => o.MapFrom(s => new SqlParameter("LeadID", s.LeadID)))
    .ForMember(d => d["LastName"], o => o.MapFrom(s => new SqlParameter("LastName", s.LastName)));
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用(对象引用未设置为实例).基本上,我正在尝试将此对象的值设置为SqlParameter对象的数组.可能?如果是这样,这样做的正确方法是什么?谢谢.

c# asp.net entity automapper

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