问题列表 - 第38053页

std :: string是否使用字符串实习?

我特别感兴趣的是窗户,mingw.

谢谢.

更新:首先,我认为每个人都熟悉字符串实习. http://en.wikipedia.org/wiki/String_interning

其次,我的问题很详细:我为练习敲了一个字符串课.没有什么花哨的你知道,我只是在课堂上存储大小和char*.

我使用memcpy进行分配.

当我这样做来测量std :: string和我的字符串类的赋值速度时:

string test1 = "  65 kb text ", test2;
for(int i=0; i<1000000; i++)
   {
   test2 = test1;
   }

mystring test3 = "65 kb text", test4;
for (int i=0; i<1000000; i++)
   {
   test4 = test3
   }
Run Code Online (Sandbox Code Playgroud)

std :: string是一个很大的赢家.我在赋值运算符(在我的类中)中没有做任何事情,但是用memcpy复制.我甚至没有使用"new"运算符创建一个新数组,因为我检查大小是否相等,并且只在需要时请求new.怎么会?

对于小字符串,没有问题.我看不出如何能的std :: string赋值比memcpy的速度更快,我敢打赌,它使用它太在后台,或类似的东西,所以这就是为什么我问实习.

Update2:通过单个字符赋值修改循环,如下所示:test2 [15] = 78,我避免了std :: string的copy-on-write效果.现在两个代码完全相同(好的,有1-2%的差异,但这可以忽略不计).因此,如果我没有完全弄错,mingw std :: string必须使用COW.

感谢大家的帮助.

c++

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

如何在Rails 3中进行枚举?

在Rails 2中我知道一些枚举的插件,例如acts_as_enumeration和enumerate_by,但它们似乎没有为Rails 3维护或更新.最好,解决方案会将枚举存储在内存而不是数据库中,但出于性能原因,任何方法都是有用的,因为它总是可以缓存.

我确实找到了声称可以使用Rails 3的enumerated_attribute,但老实说,我不喜欢API,并希望有另一个好的解决方案.

(很抱歉只链接到一个插件,但在获得更高声誉之前,我不会发布多个链接)

ruby-on-rails-3

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

如何作为项目列表框水平对齐中心?

有列表框

<ListBox>
    <ListBox.ItemTemplate>
    <DataTemplate>
        <DockPanel>
        <Button Content="{Binding name_trainer}" Tag="{Binding idPersonTrainer}" DockPanel.Dock="Top" HorizontalAlignment="Center">
        </Button>
        </DockPanel>
    </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)

替代文字

wpf

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

如何在MouseDown/Move c#上绘制矩形

当我在左键单击鼠标时拖动我的mousedown时,我不太确定如何绘制矩形(未填充).

到目前为止我有这个

            private void canevas_MouseDown( object sender , MouseEventArgs e )
            {
                    if( e.Button == MouseButtons.Left )
                    {
                            _topLeft = new Point( e.X , e.Y );
                            _drawing = true;
                    }
            }

            private void canevas_MouseMove( object sender , MouseEventArgs e )
            {
                    if( _drawing )
                    {
                            Rectangle rec = new Rectangle( _topLeft.X , _topLeft.Y , ( e.X - _topLeft.X ) , ( e.Y - _topLeft.Y ) );
                            canevas.CreateGraphics().DrawRectangle( Pens.Black , rec );
                    }
            }
Run Code Online (Sandbox Code Playgroud)

但问题是我不希望所有的矩形出现

c# drawing draw

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

在contentEditable div中显示上下文菜单

我有一个contentEditable div,其中包含以下文字:

<div contentEditable='true'> This document is classified</div>
Run Code Online (Sandbox Code Playgroud)

现在,例如,如果用户点击word文档中的"m",我想显示包含少量文本选项的上下文菜单.该上下文菜单将包含在div元素中.我想用用户从上下文菜单中选择的选项(文本)替换单词"document".在我看来,我必须找到单击的绝对位置以显示上下文菜单,然后我必须在插入符号位置之前和之后找到空格元素,然后用从上下文菜单中选择的选项替换选择.知道如何使用JavaScript和jQuery做到这一点? 编辑: 我的问题的一部分是关于上下文菜单和其他更重要的是我如何检测用户在contentEditable div或另一方面在文本区域中单击的单词.我的目标如下图所示 替代文字 实际上我想制作一个类似的音译应用程序.从罗马到乌尔都语的脚本转换过程已经完成但是我在网络上的用户界面开发中遇到了很多问题.谷歌音译应用程序可以在这里找到.我希望有人可以帮助我在用户的鼠标下获取单词并显示包含少量选项的上下文菜单.

javascript asp.net-mvc jquery contenteditable asp.net-mvc-2

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

iPhone通过代码将某些内容复制到剪贴板

我想知道我是否可以通过代码将一些文本复制到iPhone键盘 - IE他们按下一个名为"复制链接到剪贴板"的按钮,它会复制链接到剪贴板?

谢谢.

iphone copy

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

如何在平面上随机但均匀地分布节点

我需要在html5画布上放置1到100个节点(实际上是25px点).我需要让它们看起来随机分布,所以使用某种网格就可以了.我还需要确保这些点不接触或重叠.我也希望没有大的空白区域.谁能告诉我这种算法叫什么?对这样做的开源项目的引用也将受到赞赏.

谢谢大家

圭多

math graphics canvas graph

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

保证金:0自动不居中?

我在Chrome,Firefox和Safari中尝试了以下代码,但我的div并没有完全集中.

HTML:

<!DOCTYPE html> 
<html> 
<head> 
    <link href="custom.css" media="screen" rel="stylesheet" type="text/css" />
</head> 
<body>  
    <div class="center">Hello!</div>
</body> 
</html>
Run Code Online (Sandbox Code Playgroud)

custom.css:

.center {
  width: 400px;
  margin: 0 auto;
  border: 5px solid black;
}
Run Code Online (Sandbox Code Playgroud)

这会在Chrome中生成以下内容: 替代文字

你可以看到左边距大于右边距.

我究竟做错了什么?

css

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

为什么在课堂内不需要"使用前声明"规则?

我想知道为什么C++的declare-before-use规则不能保存在类中.

看看这个例子:

#ifdef BASE
struct Base {
#endif
    struct B;
    struct A {
        B *b;
        A(){ b->foo(); }
    };

    struct B {
        void foo() {}
    };
#ifdef BASE
};
#endif

int main( ) { return 0; }
Run Code Online (Sandbox Code Playgroud)

如果定义了BASE,则代码有效.

在A的构造函数中,我可以使用尚未声明的B :: foo.

为什么这有效,而且大多数情况下,为什么只能课堂上工作?

c++ class forward-declaration

12
推荐指数
2
解决办法
3163
查看次数

如何让facebook识别我的网页图片

当我在Facebook上分享任何页面时,我开发了一个网站

Facebook应识别我的页面并选择图像以选择缩略图

但这不会发生在我的网站上,好像facebook无法识别我的页面

或者无法读取它并从中选择图像我该怎么办

让facebook识别我的页面并加载页面中的所有图像以向左和向右导航以选择共享页面的拇指

facebook sharing thumbnails

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