I've scanned a lot of C++ sites but have not found an answer yet. In several pre written programs, I've noticed that a single brace "{" is used without being closed later in the program. It appears like it is used to go outside the program to get info. like looking to see if a program has the .cpp extension. Anyone ever noticed that and know what the deal is?

Dick

Hello Dick,

Welcome to the boards.

To answer your main question, I'm not familiar with any C or C++ syntax of this sort. I have viewed a nifty document on Control Structures, and have not found anything of this type, executable. The curly brackets {} are usually defined as "block of instructions".

In greater detail, a block of instructions is a group of instructions separated by semicolons (;) but grouped in a block delimited by curly bracket signs: { and }.

If we want the statement to be a single instruction we do not need to enclose it between curly-brackets ({}). If we want the statement to be more than a single instruction we must enclose them between curly brackets ({}) forming a block of instructions.

Example:

int main() {
	int i, j, k=0;

	/*
	** Nested loop
	** Single instruction per computation
	*/
	for (i = 0; i < 2; i++)
		for (j = 0; j < 1; j++)
			k++;

	/*
	** While loop
	** Multiple instruction per computation
	*/
	while (k--) {
		j--;
		i++;
	}

	return 0;
}

With this information given, it remains unclear if a block of instructions can be opened, then not closed. Most compilers will result an error, or provide the fact that an instruction must be complete before continuing.


I hope this helps,
- Stack Overflow

Inside the C/C++ language, braces are always used in pairs. Can you give an example of its use, especially as you refer to a cpp extension and the like?

You aren't seeing:

extern "C" {

are you? Because if you are, there WILL be a '}' somewhere later in the code. Like:

extern "C" {

<bunch of declarations of functions>

}

Yeah, Chainsaw, I think you've hit it. I looked for the reverse brace but maybe I better look harder. This item shows up in a lot of my .h library stuff. I will pull up one .h and carefully check. It usually comes up just after an if not statement looking for _cplusplus and I think it said "extern". I'll be back when I know more.

Dick

---Sure enough. When you know what to look for, things are easier to find. Thanks.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.