小编Sof*_*fle的帖子

什么是布局?

我想更好地重新实现在防锈(主要是盒),以了解它的一些STDLIB智能指针,我来自一个C的背景,其具有简单mallocfree功能,但锈蚀的allocdealloc需要一些Layout。它是什么?文档中并没有真正解释它。

memory-management rust

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

如何确保泛型类型具有某个字段

pub struct Entity {
    name: String,
}

fn walk<T>(entity: T) {
    eprintln!("{} walked", entity.name);
}
Run Code Online (Sandbox Code Playgroud)

目前以下代码无法编译,因为类型 T 没有字段name
我知道 Rust 有特征限制,是否有一些“字段限制”?

我真的必须:

trait HasName {}
impl HasName for Entity {}
fn walk<T: HasName>(entity: T) {
    eprintln!("{}", entity.name);
}
Run Code Online (Sandbox Code Playgroud)

哦等等,这也无法编译!
这是一个工作示例

我的意思是,一定有比更简单的事情。
也许像 JavaScript 中那样进行某种结构解构?

generics rust

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

为什么 scanf("%s") 与 char* 的行为很奇怪?

我试图解决这个问题

当我创建一个char *并将其传递给 scanf 时:

char* input = "";
scanf("%s", input);
Run Code Online (Sandbox Code Playgroud)

它的行为很奇怪
但是,当我更改定义并将 1000 个字符初始化为\0

char input[1000] = { '\0' };
Run Code Online (Sandbox Code Playgroud)

它表现得很好。为什么会这样?

c string scanf

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

如何在按钮内移动文本?

我需要在单击时水平移动按钮内的文本以产生 win95 风格的单击效果。

我试过用翻译来做,但这会移动整个按钮,而不仅仅是它的内容。如何移动文本?我想避免在按钮内创建元素或弄乱填充。

body {
  background-color: #008080;
}

button {
  background-color: #C0C0C2;
  color: #000;
  padding: 5px 12px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #000;
  border-right: 2px solid #000;
}

button:active {
  border-top: 2px solid #000;
  border-left: 2px solid #000;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}
Run Code Online (Sandbox Code Playgroud)
<button type="button">Click me!</button>
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/qz0gt378/

html css

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

标签 统计

rust ×2

c ×1

css ×1

generics ×1

html ×1

memory-management ×1

scanf ×1

string ×1