think it clear: const, char, format
来源:互联网 发布:阿里云wamp环境搭建 编辑:程序博客网 时间:2024/04/29 04:30
写出糟糕的代码会带来糟糕的感觉和生活,尽管它运行的很好。
有时候我们面临着多种选择,这样也可,那样也可,但是哪一个才是那最精准,带着脆响的一投呢?
今天遇到几个值得斟酌,需要think it clear的问题:
1, const:
void func( type* arg);
看到这句话我们脑海里闪现这样一些信息:
a, 这是用指针传递参数来代替整个类型的复制
b, 这个arg指向的内容可能会被改变
但是如果其实我们并不改变,那么这个声明就没有最确切的表达意思,下面就非常确切
void func(const type* arg);
class type
{
public:
const int* mMember;
};
----不仅进了球,而且很脆的空心,读代码和写代码的人都感到很享受。
2, char and unsigned char
在表述字符的时候,用unsigned char更加合理
3, if
bool judge()
...{
if(a)
...{
if(b)
...{
return true;
}else
...{
return false;
}
}else
...{
return false;
}
}
...{
if(a)
...{
if(b)
...{
return true;
}else
...{
return false;
}
}else
...{
return false;
}
}
这个也的确是对的写法,但是无论自己写起来还是别人读起来,真是混乱的格式,不如改成:
bool judge()
...{
if(a==false)
return false;
if(b==false)
return false;
if(...)
....;
return true;
}
...{
if(a==false)
return false;
if(b==false)
return false;
if(...)
....;
return true;
}
这样层层筛选的意思就表达的十分确切
- think it clear: const, char, format
- va_list / vfprintf / va_arg & printf(const char *format,...)
- sprintf( char *buffer, const char *format, [ argument] … );
- sprintf(char *buffer, const char *format, [ argument] … )
- sprintf( char *buffer, const char *format, [ argument] … );用法详解
- C++学习笔记:int sprintf ( char * str, const char * format, ... );
- Format(const wchar_t *,...)”: 不能将参数 1 从“const char [3]”转换为“const wchar_t *”.
- const char & char const
- const char* char*const
- const char*,char *const,const char*const
- const char*,char *const,const char*const
- C语言库函数之 int vsnprintf(char *str, size_t size, const char *format, va_list ap);
- const char*, char const* and char *const
- const char*, char const* and char *const
- const char* ; char const *; char* const;
- const char*, char const* and char *const
- 关于const char*, char const*, char*const
- const char*, char const*, char*const
- Linux静态/动态链接库的创建和使用
- 林语堂学习英文要诀
- JBPM中的起始任务
- 开博感想:默认的或许就是最好的
- TCL/Expect概要介绍
- think it clear: const, char, format
- TCL基础教程——(1)准备
- jbpm用户指南翻译:第1章 介绍
- Jbpm用户指南翻译:第10章 上下文
- C, Student GPA, AVERGAE
- TCL基础教程——(2)输出和变量
- 如何在 DB2 UDB 中监控死锁
- 什么是oracle schema
- LAMP 系统性能调优,第 1 部分: 理解 LAMP 架构