问题列表 - 第12424页

如何在C++中将Foo**指针转换为const Foo**

我有

class Fred 
{
public:
  void inspect() const {}; 
  void modify(){};
};

int main()
{
 const Fred x = Fred();
 Fred* p1;
 const Fred** q1 = reinterpret_cast<const Fred**>(&p1);
 *q1 = &x; 
 p1->inspect();
 p1->modify();
}
Run Code Online (Sandbox Code Playgroud)

怎么可能通过指针式转换来执行const Fred**q1 =&p1?

(我刚刚读到这可能是可能的)

谢谢您的回答.const_cast确实适用于对象

#include <iostream>
#include <stdio.h>
using namespace std;

class Fred 
{
 int a;

public:
Fred(){};
Fred(int a_input)
{
 a = a_input;
};

void inspect() const 
{
 cout << "Inspect called"<< endl;
 cout << "Value is ";
 cout << a << endl;
}; …
Run Code Online (Sandbox Code Playgroud)

c++ pointers casting

7
推荐指数
3
解决办法
7875
查看次数

7
推荐指数
2
解决办法
762
查看次数

为什么Google(或Googlebot)会将页面索引返回500错误?

Googlebot偶尔会使用错误的查询字符串参数为我们的某个网站编制索引.我不确定它是如何得到这个查询字符串参数(似乎没有任何网站链接到我们与坏链接,我们网站中没有任何东西插入坏值).坏参数导致网站抛出500错误,正如我们所期望的那样.

我的印象是Google不会将返回500错误的网页编入索引,但事实证明确实如此.所以现在我有两个问题:

1)为什么Googlebot会插入随机错误的查询字符串值?(我真的不关心这个问题的答案,但如果我们能做些什么来避免这个问题,它就能解决我们的问题.)

2)为什么谷歌索引一个返回500错误的页面?

以下是Googlebot创建的以及Google已编入索引的错误链接之一:

http://www.pbs.org/teacherline/catalog/browse/?sa=4&gb=baqhuxts&gb=20&gb=21&num=20&page=2&js=0&sa=1

坏参数是gb = baqhuxts.参数'gb'应该是一个整数.如果从查询字符串中删除该参数,则应该显示一个很好的目录页面.

关于nofollow和robots.txt解决方案:[删除]

我现在意识到我是一个白痴,并把一个元标记告诉搜索机器人索引页面.这是一件愚蠢的事情.我正在删除那些.W-(

如果您在Google上搜索"baqhuxts",您会发现它已使用此错误参数索引了10个页面.但是每个页面都返回500错误.有没有人了解Google为什么认为这些是有效的索引页面?

indexing seo search-engine googlebot

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

ASP.NET MVC和Unity 1.2容器问题

我正在尝试使用Unity容器来更轻松地对我的控制器进行单元测试.我的控制器使用一个接受Repository接口的构造函数.在global.asax文件中,我实例化一个UnityContainerFactory并将其注册到MVC框架,然后注册存储库及其实现.我将[Dependency]属性添加到控制器的CTOR Repository参数中.这一切似乎都可以正常工作,除了有时工厂的GetControllerInstance(Type controllerType)被多次调用并传递一个null参数作为controllerType.

对工厂的第一次调用是正确的,并且controllerType"ProductsController"作为参数传入.但有时候,在视图显示为控制器的空值后,工厂被调用了几次,我不知道为什么.当传递控制器类型的正确值时,"Call Stack"对我有意义,但是当传递null时,我不确定为什么或谁在进行调用.有任何想法吗?

该示例的代码和调用堆栈如下所示.

有效时调用堆栈

Test.DLL!Test.UnityHelpers.UnityControllerFactory.GetControllerInstance(System.Type controllerType = {Name ="ProductsController"FullName ="Test.Controllers.ProductsController"})第23行C#Test.DLL!Test._Default.Page_Load(object sender = {ASP.default_aspx},System.EventArgs e = {System.EventArgs})第18行+ 0x1a字节C#

在controllerType传递NULL时调用Stack

Test.DLL!Test.UnityHelpers.UnityControllerFactory.GetControllerInstance(System.Type controllerType = null)第27行C#

首先,我创建了一个UnityControllerFactory

public class UnityControllerFactory : DefaultControllerFactory
{
    UnityContainer container;

    public UnityControllerFactory(UnityContainer container)
    {
        this.container = container;
    }

    protected override IController GetControllerInstance(Type controllerType)
    {
        if (controllerType != null)
        {
            return container.Resolve(controllerType) as IController;
        }
        else
        {
            return null; // I never expect to get here, but I do sometimes, the callstack does not show the caller …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc unity-container

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

共享对象

想象一下,我有一个很好的Deck课程,以最好的OO方式.它有卡片,有套装和等级,有Shuffle方法,等等.现在,我将有很多并发的Deck实例(比如这是一个赌场).问题是:所有甲板上的每张卡都应该有不同的实例吗?

language-agnostic oop reference instance

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

我应该使用Query Hint Fast number_rows/FASTFIRSTROW吗?

我正在阅读有关查询提示的文档:http: //msdn.microsoft.com/en-us/library/ms181714(SQL.90).aspx

并注意到这一点:FAST number_rows指定优化查询以快速检索第一个number_rows.这是一个非负整数.返回第一个number_rows后,查询继续执行并生成其完整结果集.

所以,当我正在进行如下查询:

Select Name from Students where ID = 444
Run Code Online (Sandbox Code Playgroud)

我应该打扰这样的提示吗?假设SQL Server 2005,我应该什么时候?

- 编辑 -

在限制结果时也应该打扰一下:

Select top 10 * from Students OPTION (FAST 10)
Run Code Online (Sandbox Code Playgroud)

sql sql-server query-hints

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

在C#中获取唯一的系统标识符

使用C#可以轻松获得什么样的"唯一"系统标识符(用于散列然后唯一地标识系统)?我可以只是哈希硬盘大小和类似的东西,但我需要识别和区分所有由相同组件构建的计算机,所以我不能这样做.

欣赏提示,想法,示例代码!

c# system-identification

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

目录列表被拒绝:此虚拟目录不允许列出内容

尝试在远程主机上运行CFmx代码时出错.目录列表被拒绝此虚拟目录不允许列出内容.

我在"LocalHost"上编写了代码.然后,为了测试,我将它复制到远程主机"ChicaDevTestApp"到文件夹"D:\ inetpub\wwwroot\Aug20\AppliTest.com".以前,我能够从我的系统中访问旧代码(在"ChicaDevTestApp"中)作为"http:// ChicaDevTestApp".现在,因为我添加了一个新的文件夹"Aug20",我尝试了,网址为"http:// ChicaDevTestApp/Aug20 /".但是得到了上述错误.

我应该在CFAdmin中使用"路径"吗?如何从我的本地主机运行包含我的代码的文件夹"Aug20"?

谢谢提前Vas

coldfusion

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

你能在一个Windows服务中托管多个WCF进程吗?

我在Windows服务中托管了一个WCF进程.我想知道我是否可以安全地拥有多个WCF进程,这些进程在同一个Windows服务中托管不同的东西.我不得不担心端口吗?我正在使用mex端点

wcf windows-services

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

从byte []转换为string

我有以下代码:

using (BinaryReader br = new BinaryReader(
       File.Open(FILE_PATH, FileMode.Open, FileAccess.ReadWrite)))
{
    int pos = 0;
    int length = (int) br.BaseStream.Length;

    while (pos < length)
    {
        b[pos] = br.ReadByte();
        pos++;
    }

    pos = 0;
    while (pos < length)
    {
        Console.WriteLine(Convert.ToString(b[pos]));
        pos++;
    }
}
Run Code Online (Sandbox Code Playgroud)

FILE_PATH是一个const字符串,包含要读取的二进制文件的路径.二进制文件是整数和字符的混合.整数是每个1个字节,每个字符作为2个字节写入文件.

例如,该文件包含以下数据:

1HELLO你是如何看待你的//等等

请注意:每个整数都与其后面的字符串相关联.所以1与"HELLO HOW ARE YOU"有关,45与"你在寻找伟大"等等有关.

现在写二进制文件(我不知道为什么,但我必须忍受这个),这样"1"只需要1个字节,而"H"(和其他字符)每个需要2个字节.

所以这是文件实际包含的内容:

0100480045 ......依此类推:

01是整数1的第一个字节0048是'H'的2个字节(H是十六进制的48)0045是'E'的2个字节(E = 0x45)

我希望我的控制台能够从这个文件中打印出人类可读的格式:我希望它打印出"1你好如何",然后"45你看起来很棒"等等......

我正在做的是正确的吗?有更简单/有效的方法吗?我的行Console.WriteLine(Convert.ToString(b [pos])); 什么都不做,但打印整数值,而不是我想要的实际字符.对于文件中的整数是可以的,但是如何读出字符呢?

任何帮助将非常感激.谢谢

c# binaryreader

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