小编cyh*_*one的帖子

如何在打字稿中使用enum中的装饰器

像那样

enum Response {
    @Descriptor("this is No")
    No = 0,
    @Descriptor("this is Yes")
    Yes = 1,
}
Run Code Online (Sandbox Code Playgroud)

如何在打字稿中使用enum中的装饰器,我尝试了这段代码,但它没有用

export function Description(description:string){
     return Reflect.metadata(descriptionMetadataKey, description);
}
Run Code Online (Sandbox Code Playgroud)

typescript

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

vue 如何在 v-model 上使用 getter setter?

<div id="app">
  <input v-model="msg"/>
  <p>{{ msg }}</p>
</div>

<script>
class A{

}
A.a = 1
new Vue({
  el: '#app',
  data: {
  },
  computed: {
    msg: {
      cache: false,
      set: function(val){
            A.a = val
      },
      get: function(){
        return A.a   
      }
    }
  }
})
</script>
Run Code Online (Sandbox Code Playgroud)

在 jsfiddle 上运行

vue 如何在 v-model 上使用 getter setter?我尝试在 v-model 上使用 getter 和 setter,但没有用。

vue.js vuejs2

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

为什么C数组尾部有额外的字节?

我检查C数组可能在尾部有一些额外的字节.

有我的代码

int a = 5;
int test[] = {1,2,3,4};
int b = 5;

test[-1] = 11;
test[4] = 11;

cout << b << endl; // 11 
cout << a << endl; // 5
Run Code Online (Sandbox Code Playgroud)

你可以在那里看到运行结果

的值b是通过改变改变test[-1]的值.但是,当我改变test[4]价值时,价值a不会改变;

我用gdb检查他们的地址,发现了

在g ++ 6.4.0中,a减法地址的地址test[4]是8字节
在clang ++ 3.8.1中,a减法地址的地址test[4]是4字节

所以,我很好奇为什么数组在尾部有一些字节?

感谢@Peter A.Schneider解释这个问题.它肯定是UB,但它只是一个实验性代码.这不是实际代码的讨论.

通常,运行时堆栈中的变量靠得很近.b接近测试,但为什么'a'不接近'test + 3'.这是问题的关键.

c++ arrays memory-alignment

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

标签 统计

arrays ×1

c++ ×1

memory-alignment ×1

typescript ×1

vue.js ×1

vuejs2 ×1