问题列表 - 第33123页

为什么编译器不允许std :: string在union中?

我想在Union里面使用字符串.如果我写如下

union U
{
   int i;
   float f;
   string s;
};
Run Code Online (Sandbox Code Playgroud)

编译器给出错误,说U :: S有复制构造函数.

我读了一些其他帖子,了解解决这个问题的其他方法.但我想知道为什么编译器首先不允许这样做?

编辑:@KennyTM:在任何联合中,如果成员被初始化,其他人将具有垃圾值,如果没有初始化,则所有将具有垃圾值.我认为,标记联合只是为从Union访问有效值提供了一些安慰.您的问题:您或编译器如何在没有额外信息的情况下为联合编写复制构造函数?sizeof(string)给出4个字节.基于此,编译器可以比较其他成员大小并分配最大分配(在我们的示例中为4字节).内部字符串长度无关紧要,因为它将存储在单独的位置.让字符串为任意长度.Union必须知道的是使用字符串参数调用字符串类复制构造函数.无论哪种方式编译器发现在正常情况下都必须调用复制构造函数,即使字符串在Union中,也要遵循类似的方法.所以我认为编译器可以这样做,分配4个字节.然后,如果为s分配了任何字符串,则字符串类将使用其自己的分配器来处理该字符串的分配和复制.所以也没有内存损坏的可能性.

编译器中Union开发时不存在字符串吗?所以我的答案还不清楚.我是这个网站的新工作人员,如果有什么不对,请原谅.

c++

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

低级别的套接字编程

我无法理解或掌握; 在套接字编程中在较低层编程意味着什么.我习惯使用tcp/udp /文件系统套接字.这些都包含在他们自己的协议规范中......据我所知,这将使它在堆栈中的应用层工作.

在我正在进行的项目中,我看到一些文件被"命名为"LinkLayer,TransportLayer ......但我没有看到除标准套接字调用之外的任何其他调用.... send/recv/seletct ...

您设置套接字选项的事实是否意味着您在较低级别进行编程?它仅限于此吗?或者是否有其他API授予您访问内核中的表示形式的权限?

c unix sockets

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

Servlet的Spring root WebApplicationContext

我有一个使用SpringMVC DispatcherServlet加载WebApplicationContext的webapp.Spring参考文档:

"每个DispatcherServlet都有自己的WebApplicationContext,它继承了根WebApplicationContext中已经定义的所有bean .这些继承的bean可以在特定于servlet的范围内重写,并且可以为给定的servlet实例定义新的特定于范围的bean.

但是我在哪里放置这个根WebApplicationContext?

java spring spring-mvc

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

简单的SQL查询,结合结果和划分

我试图从2个表中得到2个计数计算出像MySQL数据库那样的百分比:

  1. select field_one, count(*) as COUNT_ONE from table1 group by field_one;

  2. select other_field,count(*) as COUNT_TWO from table2 group by other_field;

我想结合结果并FINAL_COUNT=(COUNT_ONE/COUNT_TWO) * 100保持百分比?

mysql sql

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

在iframe父窗口中触发click事件

<div id="main">
    <a id="mainp" >Parent Window</a>

    <iframe id="iframeindex" src="iframeindex.html" >

    </iframe>
</div>

<script>
     $(function() {
        $('#mainp').live('click', function(e) {
            alert("hi");
            e.preventDefault();
        });
Run Code Online (Sandbox Code Playgroud)

iframeindex来源:

<a id="child1" class="test" href="a.html">aa</a>    

<script>
    $(function() {          
        $('.test').click(function(e){           
            $('#mainp', window.parent.document).css('color', 'red').trigger('click');

            e.preventDefault();
        })
    });
Run Code Online (Sandbox Code Playgroud)

CSS正在应用于父窗口链接,但是click事件没有获得触发器.如何将触发事件发送到父窗口.

javascript jquery

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

是否有任何代码编辑器适用于触摸屏手机?

是否有适用于手机的代码编辑器(如eclipse或visual studio)(如诺基亚5800)?

所以我想要的是在手机上编辑我的C/C++/C#代码.(我有诺基亚,所以这是我的主要兴趣,但我也对其他手机感兴趣,比如基于Android的手机.)

我不需要编译的能力,但我喜欢编码和代码突出显示.

c c# mobile editor

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

Pexpect不能做什么可以做到的?

我正在考虑开始使用Pexpect.在Pexpects主页上我发现:

问:为什么不直接使用Expect?

A:我喜欢它.这很棒.我已经把我从一些真正的果酱中拯救出来,但是我想要的东西可以达到我所期望的90%的Expect; 是10%的大小; 并允许我用Python而不是TCL编写我的代码.Pexpect并不像Expect那么大,但是Pexpect做了我曾经用过的所有东西.

Pexpect和Expect之间有10%的差异.所以我的问题是这10%的差异是什么.什么是Expect可以做的,Pexpect不能.

comparison expect pexpect

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

如何在Ext Touch(Sencha Touch)的Ext.Panels上处理滚动事件?

我有两个Ext.Panel,一个是scrollingContent,另一个叫做wrapper.包装器不如scrollingContent大,所以后者在包装器内水平滚动.

我想在每次滚动后处理滚动事件和scrollingContent在包装器内的位置.

我没有找到任何解决方案.任何帮助都会非常感激.

提前致谢

var scrollingContent = new Ext.Panel({
    id: 'p1',
    layout: 'hbox',
    width: 1200,
    height: 380,
    //cls: 'blue',
    items: itemList
});

var wrapper = new Ext.Panel({
    id: 'p2',
    scroll: 'horizontal',
    width: 800,
    height: 380,
    cls: 'gray',
    items: scrollingContent
});
Run Code Online (Sandbox Code Playgroud)

javascript extjs

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

如何使用ComboBox(WPF)"填充"GridViewColumn?

我正在寻找一种GridViewColumn用组合框"完全填充"的方法.我能够创建一个单元格模板,ComboBox它工作正常.但是宽度和高度ComboBox并没有对齐GridViewColumn.即使我尝试设置相同的高度/宽度GridViewColumn隐藏了comboBox的某些部分.

必须有一些设置或样式来指示WPF ComboBox完全填充可用空间GridViewColumn

这是我的XAML.

<Window x:Class="WPFStarter.ComboInsideListView.ComboBoxInsideListViewUsingObject"
        x:Name="userControl"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="ComboBoxInsideListViewUsingObject" Height="300" Width="400">
    <Grid>
        <ListView x:Name="listView" ItemsSource="{Binding ElementName=userControl, 
            Path=DataContext.Items}" SelectedItem="{Binding ElementName=userControl, Path=DataContext.SelectedItem, Mode=TwoWay}">                   
            <ListView.View>
                <GridView>
                   <GridViewColumn Header="First Name"  DisplayMemberBinding="{Binding Path=First}"/>
                   <GridViewColumn Header="Gender">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <ComboBox x:Name="cmb_Gender" Width="75" SelectedValue="{Binding Path=Gender}"                    
                  ItemsSource="{Binding ElementName=userControl, Path=DataContext.Genders}" GotFocus="ComboBox_GotFocus"         />
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                </GridView>

            </ListView.View>

        </ListView>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

c# wpf listview gridview combobox

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

正则表达式的帮助.Lighttpd重写规则

我对正则表达式不太熟悉,但我被要求修改lighttpd重写规则.

url.rewrite = (
    "^/(.+)/?$" => "/index.php/$1"
)
Run Code Online (Sandbox Code Playgroud)

我想从上面的贪婪模式中排除一个路径,这样它就不会回退到index.php.

用语言来说,很简单:匹配"统计"以外的任何内容.但是我在正则表达式中无法做到这一点.

例如:

  • http://www.foo.com/anything/index.php/anything
  • http://www.foo.com/statistics/statistics/index.php

你能告诉我一个提示吗?

谢谢!

regex lighttpd

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

标签 统计

c ×2

c# ×2

javascript ×2

c++ ×1

combobox ×1

comparison ×1

editor ×1

expect ×1

extjs ×1

gridview ×1

java ×1

jquery ×1

lighttpd ×1

listview ×1

mobile ×1

mysql ×1

pexpect ×1

regex ×1

sockets ×1

spring ×1

spring-mvc ×1

sql ×1

unix ×1

wpf ×1