将新的成员函数添加到d指针类定义中会破坏二进制兼容性吗?
例如,下面的新定义是否会破坏与原始定义相比的二进制兼容性?(附带问题,是否有一个工具可以告诉我,如果新的.so打破二进制兼容性与旧的.so相比?如果没有,我该如何手动检查?)
原版的:
#ifndef __TESTBC_H__
#define __TESTBC_H__
class APrivate;
class A
{
public:
int get() { d->update(); return _d->get(); }
private:
APrivate *_d;
};
class APrivate
{
public:
int get() { return _val; }
void update() { _val = 1; }
private:
int _val;
};
#endif
Run Code Online (Sandbox Code Playgroud)
新:
#ifndef __TESTBC_H__
#define __TESTBC_H__
class APrivate;
class A
{
public:
int get() { _d->update(); return _d->get(); }
private:
APrivate *_d;
};
class APrivate
{
public:
int get() { return _val; }
void update() …Run Code Online (Sandbox Code Playgroud) 我需要创建一个空地图.
if (fileParameters == null)
fileParameters = (HashMap<String, String>) Collections.EMPTY_MAP;
Run Code Online (Sandbox Code Playgroud)
问题是上面的代码产生了这个警告: 类型安全:从Map映射到HashMap的未选中
创建此空地图的最佳方法是什么?
我有一个需要公开API的.NET Windows服务.我现在正在开发过程中使用远程处理.
现在我的所有方法都接受并返回XML.我已经为所需对象提供了大量自定义序列化和反序列化代码.
这些对象都不是很大.
我想轻松地将我的API用于多种语言.
我考虑过在服务中托管一个Web服务,还只考虑普通的套接字.
公开此API的最佳方式是什么?
我一直在研究WPF应用程序,我正在使用ModelViewViewModel设计模式.我有一些来自视图的事件,导致ViewModel活动.
从UnitTest获得这些事件的合理方法是什么?例如,我想模拟drop事件.我真的不想构建一个存根视图,只是为了提升事件.
欢迎任何建议.
谢谢.
我需要使用Acegi/Spring安全性连接现有应用程序.
为了开始,我正在寻找一个简单的信息:在这个上下文中,从我的应用程序调用的HttpServletRequest.getUserPrincipal()是否正确返回通过Spring获得的用户名(而不是使用特定于Spring的对象)?我用Google搜索了相互矛盾的信息.
我假设如果使用过滤器实现Acegi,它可以重载Servlet API的getUserPrincipal(),对吗?
附属问题:如果默认不是这种情况,有没有办法打开它?
谢谢,
-Erik
您在编程时使用了哪些图表技术来帮助您或他人理解您的程序或设计.我不是在谈论一个人最喜欢的工具,尽管一个好的工具很可能通过图表帮助一个人.
我在这个问题上的意图是找到人们实际使用的简单有用的图表技术,并找到新的学习方法.
您是否使用流程图,数据流图,ER图表等?
网络上充满了建议!但是真正的程序员,设计师和代码维护者在日常工作中实际使用了什么.
感谢您的反馈意见
我的ASP.NET MVC应用程序中需要一个图像生成器,但我不知道是否可以在ASP.NET MVC中使用ASHX.
如果有一个类似于继承IViewDataContainer的IHttpHandler类,那么我可以在我的ASHX上使用ViewData.Model.
我阅读了一篇关于它的博客文章,但它似乎已经过时了我在ASP.NET论坛中获得的信息
有任何想法吗?
如何调用返回bool的方法,但在该方法中为了确定bool的值,它会异步调用Web服务?
bool myBool = GetABoolean(5);
public bool GetABoolean(int id)
{
bool aBool;
client.CallAnAsyncMethod(id); // value is returned in a completed event handler. Need to somehow get that value into aBool.
return aBool; // this needs to NOT execute until aBool has a value
}
Run Code Online (Sandbox Code Playgroud)
所以我需要的是GetABoolean方法等待CallAnAsyncMethod完成并返回一个值,然后将bool返回给调用方法.
我不知道该怎么做.
我想记住函数结果的性能,即懒惰地填充索引在函数参数上的缓存.第一次调用函数时,缓存将没有输入参数的任何内容,因此它将在返回之前计算并存储它.后续调用只使用缓存.
但是,似乎SQL Server 2000有一个关于函数"确定性"的愚蠢任意规则.INSERT,UPDATE和常规存储过程调用是被禁止的.但是,允许扩展存储过程.这是如何确定的?如果另一个会话修改了数据库状态,则函数输出仍会发生变化.
我疯了.我以为我可以让缓存对用户透明.这可能吗?我没有部署扩展存储过程的权限.
编辑:
这种限制仍然存在于2008年.出于上帝的缘故,你不能叫兰德!
缓存将由我在DB中实现.缓存是用于缓存的任何数据存储...
编辑:
在基础数据的更改之外,不存在函数的相同参数将产生不同结果的情况.这是一个BI平台,唯一的变化来自计划的ETL,此时我将TRUNCATE缓存表.
这些是I/O密集型时间序列计算,大约为O(n ^ 4).我没有权限更改基础表或索引.此外,许多这些函数使用相同的中间函数,缓存允许使用这些函数.
UDF不是真正的确定性,除非它们考虑到数据库状态的变化.重点是什么?是SQL Server缓存吗?(Ironic.)如果SQL Server正在缓存,那么它必须在对模式绑定的表的更改时到期.如果它们是模式绑定的,那么为什么不绑定函数修改的表?我可以看到为什么不允许触发,尽管这只是草率的; 只是架构绑定过程.而且,BTW,为什么允许扩展存储过程?你无法跟踪那些确保确定性的行为!哎呀!
编辑:
我的问题是:有没有办法以一种可以在视图中使用的方式懒惰缓存功能结果?
我已经以编程方式添加了UIImageView.当用户点击它时,如何让它向我的控制器发送消息,将自己作为唯一参数发送?
.net ×2
java ×2
api ×1
api-design ×1
ashx ×1
asp.net ×1
asp.net-mvc ×1
asynchronous ×1
c# ×1
c++ ×1
caching ×1
cocoa-touch ×1
collections ×1
d-pointer ×1
diagramming ×1
dictionary ×1
hashmap ×1
httphandler ×1
iphone ×1
modeling ×1
mvvm ×1
objective-c ×1
remoting ×1
security ×1
servlets ×1
silverlight ×1
spring ×1
sql-server ×1
unit-testing ×1
wcf ×1
web-services ×1
wpf ×1