问题列表 - 第38716页

为什么分配成功为大小零字节?

这类似于零大小的数组分配/意味着什么?

我有以下代码

int *p = new int[0];
delete []p;
Run Code Online (Sandbox Code Playgroud)

p获取一个地址并被正确删除.

我的问题是:为什么c ++ Standard首先允许分配零字节?为什么不抛出bad_alloc或一些特殊的异常?

我认为,这只是推迟了灾难性的失败,使程序员的生活变得困难.因为如果要在运行时计算要分配的大小,并且如果程序员正确地假定其分配并尝试向该内存写入内容,则最终会破坏内存!并且崩溃可能发生在代码中的其他位置.

编辑:它在零大小请求时分配了多少内存?

c++ memory-management

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

如何在不扩展我的类中的ListActivity的情况下使用listview?

我有一个带有各种标签的应用程序(在tabhost上).每个选项卡都是一个扩展活动的活动,并且包含一些textfields内容.

现在,我需要我的选项卡在listview中,但在Android开发人员指南的示例中,您必须扩展ListActivity而不是Activity.

基本上,我需要合并这两个教程:

如何在listview不延伸listactivity课程的情况下使用?

我的XML文件:

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp"/>
    </LinearLayout>
</TabHost>
Run Code Online (Sandbox Code Playgroud)

android listview

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

阅读扩展程序中的Chrome浏览记录

如何使用JavaScript或jQuery检查Chrome的浏览历史记录(在访问该链接的计算机上)中是否找到某个链接?我对我必须使用的功能感兴趣(如果有的话).另外,如何获取所访问链接的日期和时间?

javascript google-chrome google-chrome-extension

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

ResolveTexture2D - XNA 4中的噩梦

我有以下声明:

ResolveTexture2D rightTex;
Run Code Online (Sandbox Code Playgroud)

我在这样的Draw方法中使用它:

GraphicsDevice.ResolveBackBuffer(rightTex);
Run Code Online (Sandbox Code Playgroud)

现在,我使用以下方法绘制出来SpriteBatch:

spriteBatch.Draw(rightTex, new Rectangle(0, 0, 800, 600), Color.Cyan);
Run Code Online (Sandbox Code Playgroud)

这在XNA 3.1中非常有用.但是,现在我正在转换为XNA 4,ResolveTexture2D并且该ResolveBackBuffer方法已被删除.为了在XNA 4.0中工作,我将如何重新编码?

编辑

所以,这里有一些可能有用的代码.在这里我初始化RenderTargets:

PresentationParameters pp = GraphicsDevice.PresentationParameters;
leftTex = new RenderTarget2D(GraphicsDevice, pp.BackBufferWidth, pp.BackBufferHeight, true, pp.BackBufferFormat, pp.DepthStencilFormat);
rightTex = new RenderTarget2D(GraphicsDevice, pp.BackBufferWidth, pp.BackBufferHeight, true, pp.BackBufferFormat, pp.DepthStencilFormat);
Run Code Online (Sandbox Code Playgroud)

然后,在我的Draw方法中,我做:

GraphicsDevice.Clear(Color.Gray);
rightCam.render(model, Matrix.CreateScale(0.1f), modelAbsTrans);
GraphicsDevice.SetRenderTarget(rightTex);
GraphicsDevice.SetRenderTarget(null);

GraphicsDevice.Clear(Color.Gray);
leftCam.render(model, Matrix.CreateScale(0.1f), modelAbsTrans);
GraphicsDevice.SetRenderTarget(leftTex);
GraphicsDevice.SetRenderTarget(null);

GraphicsDevice.Clear(Color.Black);

//start the SpriteBatch with Additive Blend Mode
spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.Additive);
    spriteBatch.Draw(rightTex, new Rectangle(0, 0, 800, 600), …
Run Code Online (Sandbox Code Playgroud)

xna xna-4.0

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

是否可以"及时"创建Rails会话?

我对Ruby on Rails中会话生命周期的理解(特别是v3及更高版本)是在请求开始时为每个请求创建会话,如果该请求没有携带现有会话cookie,则会创建新会话cookie.将创建,否则会话cookie被反序列化并存储在会话哈希中.

当然,这样做的目的是支持许多安全功能,例如CSRF等.

但是,当涉及到使用HTTP缓存服务和代理(如Varnish)的站点中的页面缓存时,这会带来一些问题,因为大多数配置往往会在请求和响应上删除这些(通常是所有)cookie.结束(因为缓存通常用于广义受众).

我知道可以设置Varnish等来创建包含cookie详细信息的对象哈希,这会将缓存的数据范围限定到该会话(以及那个用户),但是我想知道这是否完全必要.

我有一个相当"静态"的应用程序 - 内容从数据库中提取,呈现为一个可以缓存的页面 - 有一些元素(例如评论计数,'最近'项目等)可以是添加了一个ESI,但是对于每个请求,Rails仍然倾向于设置一个新会话,并且当用户已经有一个会话时,这个东西被缓存服务器剥离.

我想知道是否可能(通过预先存在的功能,或者自己构建功能)允许开发人员控制何时需要会话,并且只有在指定的是带有cookie,会话的前后转发时必要的初始化/反序列化等.

那,或者我正在以错误的方式思考这个问题,需要从另一个角度来解决这个问题......

cookies session caching ruby-on-rails varnish

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

选择def val的优点和缺点

我问的问题与这个问题略有不同.假设我有一个代码段:

def foo(i : Int) : List[String] = {
  val s = i.toString + "!" //using val
  s :: Nil
}
Run Code Online (Sandbox Code Playgroud)

这在功能上等同于以下内容:

def foo(i : Int) : List[String] = {
  def s = i.toString + "!" //using def
  s :: Nil
}
Run Code Online (Sandbox Code Playgroud)

为什么我会选择一个而不是另一个?显然我会认为第二个在以下方面有一点点缺点:

  • 创建更多的字节码(内部def被提升到类中的方法)
  • 调用方法而不是访问值的运行时性能开销
  • 非严格的评估意味着我可以轻松访问s两次(即不必要的重做计算)

我能想到的唯一优势是:

  • 非严格评估s意味着它只在被使用时被调用(但我可以使用它lazy val)

人们的想法在这里是什么?制作所有内心val的东西对我来说是否有重大的不利影响def

scala lazy-evaluation

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

如何通过CAML查询获取特定用户创建的最新项目

我试图通过CAML查询获取特定用户创建的最新项目,但它似乎返回所有人创建的所有数据.

请帮忙.

这是我的代码:

string lifestyleQuery = @"<Where><Eq><FieldRef Name='Author' /><Value Type='Text'>" + _id + @"</Value></Eq></Where>";
Run Code Online (Sandbox Code Playgroud)

c# sharepoint caml splistitem

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

Vim在最后一行或eof上没有行尾

我试图设置vim跳过在最后一行或eof上添加eol,我试过这个

:set binary
:set noeol
:w
Run Code Online (Sandbox Code Playgroud)

这不完美导致二进制覆盖文件类型供以后使用.

设置此项的任何其他选项,我不需要在最后一行换行.

vim eof end-of-line

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

有没有有效的HTML5片段?

我显然无法确定HTML片段是否有效而不知道文档的其余部分是什么样的(至少,我需要一个doctype才能知道我正在验证哪些规则).但是给出以下HTML5片段:

<article><header></article>My header</header><p>My text</p></article>
Run Code Online (Sandbox Code Playgroud)

如果没有看到文档的其余部分,我当然可以确定它是无效的.那么,是否存在"临时有效"HTML或"有效提供它适合有效文档中的某个位置"这样的事情?

它比下面的伪代码更多吗?

def is_valid_fragment(fragment):
 tmp = "<!doctype html><html><head><title></title></head><body>" + fragment + "</body></html>"
 return my_HTML5_validator.is_valid_html5_document(tmp)
Run Code Online (Sandbox Code Playgroud)

validation html5 fragment

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

在Matlab loglog图中,轴相等

在Matlab中命令'轴相等':

设置纵横比,使得x轴,y轴和z轴上相等的刻度线增量大小相等.这使得SPHERE(25)看起来像一个球体,而不是椭圆体

但是,使用loglog绘图功能时,这"无法正常"工作.我想要发生的是我获得宽高比,以便给定因子占据相同的视觉距离.实际发生的是

>> loglog(2.^[1:20]*1e10,(2.^[1:20]).^2)
>> axis equal
Run Code Online (Sandbox Code Playgroud)

结果是

替代文字

而不是

替代文字

因此可以很容易地观察到斜率2(从平方),并且不会有所有额外的空白区域.

我的问题是:

是否有一个Matlab命令为我这样做?或者,有人解决过这个问题吗?

matlab plot logarithm

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