有些朋友问:foo, bar是什么意思, 为什么C++书籍中老见到这个词。

 

我google了一下, 发现没有很好的中文答案。这个问题,在维基百科上有很好的回答。在这里翻译给大家。

 

译文:

术语foobar, foo, bar, bazqux经常在计算机编程或计算机相关的文档中被用作​​占位符​​的名字。当变量,函数,或命令本身不太重要的时候,foobar, foo, bar, bazqux就被用来充当这些实体的名字,这样做的目的仅仅是阐述一个概念,说明一个想法。这些术语本身相对于使用的场景来说没有任何意义。Foobar经常被单独使用;而当需要多个实体举例的时候,foo,bar,和baz则经常被按顺序使用。

 

原文:

The terms foobar, foo, bar, baz and qux are sometimes used as ​​placeholder names​​ (also referred to as ​​metasyntactic variables​​) in ​​computer programming​​ or computer-related documentation.​[1]​ They have been used to name entities such as ​​variables​​, ​​functions​​, and ​​commands​​ whose purpose is unimportant and serve only to demonstrate a concept. The words themselves have no meaning in this usage. Foobar is sometimes used alone; foo, bar, and baz are sometimes used in that order, when multiple entities are needed.

 

// C code example 
#include <stdio.h>

int foobar(int *pi)
{
*pi = 1024;
return *pi;
}

int main()
{
char foo[] = "Hello,";
char bar[] = "World!";
printf("%s %s\n", foo, bar);

int baz = foobar();
printf("%d, baz");
return 0;
}