który jest bardziej właściwy sposób do powrotu z funkcji:powrocie z funkcji void
void function() {
// blah some code
}
LUB
void function() {
// blah some code
return;
}
Uzasadnieniem Drugi sposób:
- Wyraża developer intencje wyraźniej.
- Pomaga wykrywania koniec funkcji w pre-kompilacji:
Załóżmy, że masz taki scenariusz-masz kilka funkcji i trzeba wstrzyknąć trochę kodu na końcu tych funkcji. Ale z pewnych powodów nie chcesz/lub nie możesz modyfikować tak dużej ilości funkcji. Co możesz z tym zrobić? Return
& macro
wchodzi w grę, na przykład:
#include<stdio.h>
#define MAX_LINES 1000
#define XCAT(a,b) a##b
#define CAT(a,b) XCAT(a,b)
#define return returns[__LINE__] = 1;\
if (returns[__LINE__])\
{printf("End of function on %d line.\n",__LINE__);}\
int CAT(tmp,__LINE__); \
if ((CAT(tmp,__LINE__)=returns[__LINE__], returns[__LINE__] = 0, CAT(tmp,__LINE__)))\
return
static int returns[MAX_LINES];
void function1(void) {
return;
}
void function2(void) {
return;
}
int main()
{
function1();
function2();
return 0;
}
Ciekawe pytanie, ale głosowaliśmy na zakończenie, ponieważ jest zbyt subiektywne i może powodować pewne konflikty. Prawdopodobnie lepiej dla programistów.stackoverflow.com. Pamiętaj także, aby przeczytać FAQ. –
To raczej kwestia stylu wstawiania zbędnych słów kluczowych. – stacker
@stacker - co jest zbędne w jednej sytuacji, nie jest dla innej ... –