我有
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) 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为什么认为这些是有效的索引页面?
我正在尝试使用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) 想象一下,我有一个很好的Deck课程,以最好的OO方式.它有卡片,有套装和等级,有Shuffle方法,等等.现在,我将有很多并发的Deck实例(比如这是一个赌场).问题是:所有甲板上的每张卡都应该有不同的实例吗?
我正在阅读有关查询提示的文档: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) 使用C#可以轻松获得什么样的"唯一"系统标识符(用于散列然后唯一地标识系统)?我可以只是哈希硬盘大小和类似的东西,但我需要识别和区分所有由相同组件构建的计算机,所以我不能这样做.
欣赏提示,想法,示例代码!
尝试在远程主机上运行CFmx代码时出错.目录列表被拒绝此虚拟目录不允许列出内容.
我在"LocalHost"上编写了代码.然后,为了测试,我将它复制到远程主机"ChicaDevTestApp"到文件夹"D:\ inetpub\wwwroot\Aug20\AppliTest.com".以前,我能够从我的系统中访问旧代码(在"ChicaDevTestApp"中)作为"http:// ChicaDevTestApp".现在,因为我添加了一个新的文件夹"Aug20",我尝试了,网址为"http:// ChicaDevTestApp/Aug20 /".但是得到了上述错误.
我应该在CFAdmin中使用"路径"吗?如何从我的本地主机运行包含我的代码的文件夹"Aug20"?
谢谢提前Vas
我在Windows服务中托管了一个WCF进程.我想知道我是否可以安全地拥有多个WCF进程,这些进程在同一个Windows服务中托管不同的东西.我不得不担心端口吗?我正在使用mex端点
我有以下代码:
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# ×3
.net ×1
asp.net-mvc ×1
binaryreader ×1
c++ ×1
casting ×1
coldfusion ×1
division ×1
googlebot ×1
indexing ×1
instance ×1
oop ×1
operators ×1
pointers ×1
query-hints ×1
reference ×1
seo ×1
sql ×1
sql-server ×1
wcf ×1