zues 发布的文章

wchar_t c = 'A';

变量 c 是两个字节的值 0x0041, 是 Unicode 表示的字母 "A"。因 CPU 是从低位字节开始存储多字节数值,估该数据实际是以 0x41、0x00 的顺序保存在记忆体中。

数据类型

  • 基本类型(算数类型,整数,浮点数)
  • 枚举类型
  • void 类型
  • 派生类型

整数类型

类型存储大小
char1 byte
unsigned char1 byte
int2 or 4 bytes
unsigned int2 or 4 bytes
short2 bytes
unsigned short2 bytes
long4 bytes
unsigned long4 bytes

浮点类型

类型存储大小
float4 bytes
double8 bytes
long double10 bytes

void 类型

  • 函数返回为空 void exit (int status);
  • 函数参数为空 int rand(void);
  • 类型为 void 的指针: 类型为 void * 的指针代表对象的地址, 例如,内存分配函数 void *malloc( size_t size ); 返回指向 void 的指针,可以转换为任何数据类型。

- 阅读剩余部分 -

基本的测试策略

编写测试有很多方法。

一些程序员遵循“测试驱动开发”的规定;他们在编写代码之前先去编写测试。 这看起来可能与直觉相反,但实际上它就是大多数所做的:人们先描述一个问题,然后创建一些代码来解决问题。 测试驱动的开可以用Python测试用例将这个问题形式化。

更多的时候,测试的新手会创建一些代码,然后决定应该进行一些测试。 也许早些时候写一些测试会更好,但是什么时候开始都不晚。

有时候很难确定从哪里开始编写测试。 如果你已经写了几千行Python,选择一些测试可能并不容易。 在这种情况下,当您下次进行更改时,无论是添加新功能还是修复错误,都可以编写第一个测试。

所以我们现在就去做。

- 阅读剩余部分 -

写一个简单的表单

polls/templates/polls/detail.html

<h1>{{ question.question_text }}</h1>

{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}

<form action="{% url 'polls:vote' question.id %}" method="post">
{% csrf_token %}
{% for choice in question.choice_set.all %}
    <input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}" />
    <label for="choice{{ forloop.counter }}">{{ choice.choice_text }}</label><br />
{% endfor %}
<input type="submit" value="Vote" />
</form>

- 阅读剩余部分 -

视图(View)

视图可以理解为一个包含特定函数和模板的 web 页面。例如我们的 polls app 设计了以下几个视图:

  • Question “index” page – displays the latest few questions.
  • Question “detail” page – displays a question text, with no results but with a form to vote.
  • Question “results” page – displays results for a particular question.
  • Vote action – handles voting for a particular choice in a particular question.

Django 使用 'URLConf' 映射 URL 到 View 上。

polls/view.py 中写人更多的视图:

def detail(request, question_id):
    return HttpResponse("You're looking at question %s." % question_id)

def results(request, question_id):
    response = "You're looking at the results of question %s."
    return HttpResponse(response % question_id)

def vote(request, question_id):
    return HttpResponse("You're voting on question %s." % question_id)

- 阅读剩余部分 -