小编Rob*_*ino的帖子

byte + byte = int ...为什么?

看看这个C#代码:

byte x = 1;
byte y = 2;
byte z = x + y; // ERROR: Cannot implicitly convert type 'int' to 'byte'
Run Code Online (Sandbox Code Playgroud)

byte(或short)类型执行的任何数学运算的结果都隐式地转换回整数.解决方案是将结果显式地转换回一个字节:

byte z = (byte)(x + y); // this works
Run Code Online (Sandbox Code Playgroud)

我想知道的是为什么?它是建筑吗?哲学?

我们有:

  • int+ int=int
  • long+ long=long
  • float+ float=float
  • double+ double=double

那么为什么不呢:

  • byte+ byte=byte
  • short+ short= short

一点背景:我正在对"小数字"(即<8)执行一长串计算,并将中间结果存储在一个大数组中.使用字节数组(而不是int数组)更快(因为缓存命中).但是通过代码传播的大量字节转换使得它更加难以理解.

c# type-conversion

356
推荐指数
8
解决办法
6万
查看次数

构建iPhone应用程序时代码符号错误

我是iPhone开发的新手.我刚刚在Apple注册了iPhone开发者计划.当我尝试构建时,我收到一个错误:

代码签名错误:找不到与应用程序标识符匹配的有效供应配置文件

我不确定是什么问题.我试过浏览互联网,但我感到困惑.任何人都可以帮助我做我应该做的事情吗?

iphone

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

需要一个简短明确的"依赖属性"定义

我正在试图找出究竟是什么依赖属性,但当我在任何地方查找定义时,我只找到"如何使用"而不是"它是什么".想象一下,在面试时会被问到 - 什么是依赖财产.你的答案是什么?

c# wpf dependency-properties

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

在JavaScript中获取DIV的z-index?

normaldiv1和班上有一个div normaldiv.我试图通过style属性访问它的z-index但它总是返回0,尽管它在样式表中设置为2.

CSS:

.normaldiv
{
    width:120px; 
    height:50px; 
    background-color:Green;  
    position: absolute;
    left: 25px;
    top:20px;
    display:block;
    z-index:2;
}
Run Code Online (Sandbox Code Playgroud)

`

HTML:

<div id="normaldiv1" 
     class="normaldiv" 
     newtag="new" 
     tagtype="normaldiv1" 
     onmousedown="DivMouseDown(this.id);" 
     ondblclick="EditCollabobaTag(this.id,1);" 
     onclick="GetCollabobaTagMenu(this.id);" 
     onblur="RemoveCollabobaTagMenu(this.id);">
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

alert(document.getElementById('normaldiv1').style.zIndex);
Run Code Online (Sandbox Code Playgroud)

如何使用JavaScript找到元素的z-index?

html javascript z-index

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

处理z-index'd图层上的点击事件

我正在构建的地图应用程序中有2个z-index图层.单击要放大的图层时出现问题.单击处理程序位于基础z-index图层上,我不希望在单击上层图层中的控件时触发它.

我遇到的问题是,无论什么事情都会引发事件,但是当点击顶层的某些内容时,事件的originalTarget属性不是底层图像.反正有改变吗?

javascript z-index event-handling

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

按值返回内联函数

我正在实现一些数学类型,我想优化运算符以最小化创建,销毁和复制的内存量.为了演示我将向您展示我的Quaternion实现的一部分.

class Quaternion
{
public:
    double w,x,y,z;

    ...

    Quaternion  operator+(const Quaternion &other) const;
}
Run Code Online (Sandbox Code Playgroud)

我想知道以下两个实现如何不同.我有一个+ =实现,可以在没有创建内存的情况下就地操作,但是一些使用四元数的高级操作对于使用+而不是+ =很有用.

__forceinline Quaternion Quaternion::operator+( const Quaternion &other ) const
{
    return Quaternion(w+other.w,x+other.x,y+other.y,z+other.z);
}
Run Code Online (Sandbox Code Playgroud)

__forceinline Quaternion Quaternion::operator+( const Quaternion &other ) const
{
    Quaternion q(w+other.w,x+other.x,y+other.y,z+other.z);
    return q;
}
Run Code Online (Sandbox Code Playgroud)

我的c ++完全是自学成才的,所以当谈到一些优化时,我不确定该怎么做,因为我不确切知道编译器如何处理这些事情.这些机制如何转换为非内联实现.

欢迎对我的代码提出任何其他批评.

c++ memory optimization inline

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

如何以编程方式增加版本号?

如何以编程方式将给定版本的数字增加到最高版本的下一个版本?

例如,如果我有一个文件Program.exe具有以下版本号:

Program.exe 1.0.0.0
Program.exe 1.0.0.4
Program.exe 1.1.0.76
Program.exe 1.0.0.66
Run Code Online (Sandbox Code Playgroud)

在这种情况下,下一个版本号将是1.1.0.77

实现这一目标的最简单方法是什么?

在此先感谢您的帮助

c# vb.net visual-studio

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

选择具有最高z-index的DIV

示例代码,所以我可以开始解释这个问题:

<div style="z-index:5">5</div>
<div style="z-index:2">2</div>
<div style="z-index:1">1</div>
<div style="z-index:4">4</div>
<div style="z-index:3">3</div>
Run Code Online (Sandbox Code Playgroud)

(z-index值无关紧要,它们的顺序甚至更少.只是示例代码)

问题:我想选择(使用CSS或JS和jQuery)具有最高z-index值的DIV.在上面的例子中,我想选择第一个,因为它的z-index 5高于所有其他的z-index.

有没有办法做到这一点?额外信息:我正在使用jQuery + jQuery UI编写一个Simple Window Manager,z-index由.draggable中的stack选项指定.我似乎无法找到一种方法让jQuery将最后一个被拖动的元素分配给一个类,所以我将采用最高的z-index方式.有什么帮助吗?谢谢.

html javascript jquery jquery-ui z-index

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

C#中的螺旋算法

我怎样才能填充这样的数组:

1 2 3 4 5 6 7  8 
20 21 22 23 24 9
19 30 31 32 25 10
18 29 28 27 26 11
17 16 15 14 13 12
Run Code Online (Sandbox Code Playgroud)

螺旋C#谢谢

c# algorithm

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

在C++中慢慢写入数组

我只是想知道这是否是C++中的预期行为.下面的代码运行大约0.001毫秒:

for(int l=0;l<100000;l++){
        int total=0;
        for( int i = 0; i < num_elements; i++) 
        {
            total+=i;
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是,如果将结果写入数组,则执行时间最多为15毫秒:

int *values=(int*)malloc(sizeof(int)*100000);
        for(int l=0;l<100000;l++){
            int total=0;
            for( unsigned int i = 0; i < num_elements; i++) 
            {
                total+=i;
            }
            values[l]=total;
        }
Run Code Online (Sandbox Code Playgroud)

我可以理解写入数组需要时间,但时间是否成比例?

大家欢呼

c++ optimization

5
推荐指数
2
解决办法
1042
查看次数