问题列表 - 第16633页

为什么在这种情况下不调用复制构造函数?

这是一个小代码片段:

class A
{
public:
    A(int value) : value_(value)
    {
        cout <<"Regular constructor" <<endl;
    }

    A(const A& other)   : value_(other.value_)  
    {
        cout <<"Copy constructor" <<endl;
    }

private:
    int value_;
};
int main()
{
    A a = A(5);
}
Run Code Online (Sandbox Code Playgroud)

我假设输出将是"常规构造函数"(对于RHS),后面是LHS的"复制构造函数".所以我避免使用这种风格并始终将类的变量声明为A a(5);.但令我惊讶的是上面的代码从未调用过复制构造函数(Visual C++ 2008)

有没有人知道这种行为是由编译器优化,还是C++的一些记录(和可移植)功能引起的?谢谢.

c++ constructor copy-constructor

11
推荐指数
2
解决办法
2613
查看次数

Web服务期待DataSet对象,我如何通过ColdFusion或原始XML提供?

我需要调用用.NET编写的Web服务.进行调用的应用程序是用ColdFusion编写的.Web服务期望的参数之一是DataSet对象.我无法在ColdFusion中实例化.NET DataSet对象,如何将Web服务传递给它?我在原始XML中编写SOAP请求没有问题,我只是不知道DataSet对象的XML是什么样的.

asp.net coldfusion soap web-services

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

OS X上的Ruby"没有这样的文件加载 - sqlite3"

我试图创建一个快速的小脚本,将数据插入到SQLite数据库中,但我无法通过前几个步骤.我做过"sudo gem install sqlite3-ruby",我的Ruby版本是1.8.7(我使用rubyforge.org的Ruby一键安装程序).

我的脚本非常简单.它看起来像这样:

#!/usr/bin/ruby -w
require "csv.rb"
require "sqlite3"

begin
  CSV.open('updateddata.sql', 'r') do |row|
     p row
end
rescue => err
    puts "Exception : #{err}"
    err
end
Run Code Online (Sandbox Code Playgroud)

它永远不会超过行需要"sqlite3".它只是错误并告诉我它无法找到要加载的文件.

我不明白即使在使用单击安装程序(它应该在安装中内置了SQLite)之后它也不会起作用.

我甚至不确定从哪里开始.

我根本不是Ruby开发人员,我只是想将它用作学习经验并快速完成这项任务.

ruby sqlite

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

哪个java Web框架可供客户端和服务器端验证选择?

我们正在寻找一个java框架,它在服务器端轻松进行验证,客户端,Spring,Hibernate,Play都是我们正在搜索的框架选择,我们正在使用基于注释的开发,这个框架也将决定我们的javascript选择.在客户端和服务器端的验证操作中哪个是更好的框架(架构)?

java spring frameworks java-ee

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

匿名类问题

我对这一行有点怀疑:

匿名类无法定义构造函数

那么,为什么我们还可以使用以下语法定义Anonymous类:

new class-name ( [ argument-list ] ) { class-body }
Run Code Online (Sandbox Code Playgroud)

java constructor anonymous-class

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

如何打开HTML文件作为文本文件以使用VBScript读取代码?

我有很多HTML页面需要更改相同的几行文本.为了减少在记事本中手动打开每个文本并查找文本并将其替换为新文本所需的时间,我想创建一个脚本来为我执行此操作.

如何打开HTML文件,阅读构成页面的代码并查找并替换其中的文本?我知道如何打开,读取,查找/替换,编写,关闭文本文件,但有没有办法用HTML文件做到这一点?

html vbscript scripting text

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

我可以从派生的AuthorizeAttribute访问我的控制器/动作/动词吗?

作为一个理论练习,帮助我学习与MVC相关的成员模型的细节,我想弄清楚我是否可以从外部资源加载权限,为了我的原型,我有一个平面文件,像这样的列表:

Controller1,Method1,Get,Anonymous
Controller1,Method1,Post,User,Administrator
Controller2,Method1,Get,Administrator
Controller2,Method1,Post,Administrator
Controller2,Method2,Get,User,Editor,Administrator
Controller2,Method2,Post,Editor,Administrator
Run Code Online (Sandbox Code Playgroud)

我可以使用正则表达式解析,以便为我提供一个对每个控制器/动作/动词组合具有权限的角色列表.

我有我的控制器动作:

[CustomAuthorize]
public ActionResult Index()
{
    /* Do stuff */
}
Run Code Online (Sandbox Code Playgroud)

我也有我的自定义授权组件:

public class CustomAuthorize : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        /* How do I access which Controller/Action/Verb fired this? */
    }
}
Run Code Online (Sandbox Code Playgroud)

为了能够在运行中确定哪些角色可以访问此控制器/动作/动词,我需要能够确定哪个控制器/动作/动词称为CustomAuthorize属性.

我知道我可以像这样向我的类添加属性:

public class CustomAuthorize : AuthorizeAttribute
{
    public string Controller { get; set; }
    public string Action { get; set; }
    public string Verb { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后调用我的属性:

[CustomAuthorize(Controller="Home",Action="Index",Verb="Get")]
public ActionResult Index()
{ …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-mvc

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

使用Attach()的LINQ To SQL异常:无法添加具有已在使用的密钥的实体

考虑这种典型的断开连接情

  • 使用LINQ To SQL从SQL Server加载Customer对象
  • 用户编辑实体,表示层发送回修改的实体.
  • 使用L2S的数据层必须将更改发送到SQL Server

考虑这个LINQ To SQL查询,其目的是获取Customer实体.

Cust custOrig = db.Custs.SingleOrDefault(o => o.ID == c.ID); //get the original
db.Custs.Attach(c, custOrig); //we don't have a TimeStamp=True property
db.SubmitChanges();                
Run Code Online (Sandbox Code Playgroud)

DuplicateKeyException: Cannot add an entity with a key that is already in use.

替代文字

  • 你怎么能避免这个例外?
  • 更新没有/想要/需要时间戳属性的实体的最佳策略是什么?

次优解决方案

  • 手动将更新后的客户中的每个属性设置为orig客户.
  • 启动另一个DataContext

c# datacontext concurrency linq-to-sql

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

Oracle中的字符串,以毫秒为单位

我想将跟随字符串转换为日期:

2004-09-30 23:53:48,140000000
Run Code Online (Sandbox Code Playgroud)

我试过了:

to_date('#', 'YYYY-MM-DD HH24:MI:SS,FF9')
Run Code Online (Sandbox Code Playgroud)

但是PL/SQL不断抛出这个错误:

ORA-01821: date format not recognized.
Run Code Online (Sandbox Code Playgroud)

对于Oracle,FF9是不正确的,有什么建议吗?

oracle to-date

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

如何使用COBOL从文件中删除重复项?

输入文件的记录为:8712351,8712353,8712353,8712354,8712356,8712352,8712355 8712352,8712355

使用COBOL我需要从上面的文件中删除重复项并写入输出文件.我编写了简单的逻辑来读取记录并写入输出文件.

我在哪里需要从上面的文件中删除重复项(例如,8712353,8712352)的逻辑.这是程序逻辑:

   IDENTIFICATION DIVISION.
   PROGRAM-ID.RemoveDup.
   ENVIRONMENT DIVISION.
   INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT INPUTFILEDUP ASSIGN TO 'C:\Cobol\INPUTFILEDUP.txt'
           ORGANIZATION IS LINE SEQUENTIAL.
   SELECT OUTFILEDUP ASSIGN TO 'C:\Cobol\OUTFILEDUP.txt'
               ORGANIZATION IS LINE SEQUENTIAL.

   DATA DIVISION.

   FILE SECTION.
   FD INPUTFILEDUP.
   01 INPUTFILEDUPREC.
       88 EOFINPUTFILEDUP    VALUE HIGH-VALUES.
       02 INPUTFILEID        PIC 9(07).

   FD  OUTFILEDUP.
   01 OUTFILEDUPREC         PIC 9(07).

   WORKING-STORAGE SECTION.
   77 WS-VARIABLE            PIC 9(09).
   77 REC-NOT-MATCH          PIC 9(01).
   77 CUR-VARIABLE           PIC 9(09).

   PROCEDURE DIVISION.
   BEGIN.
   OPEN INPUT  INPUTFILEDUP
   OPEN OUTPUT OUTFILEDUP

   READ INPUTFILEDUP
       AT …
Run Code Online (Sandbox Code Playgroud)

cobol file cobol85

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