Open 9kyo-hwang opened 1 week ago
12p
public class Ticketoffice { private Long amount; private List<Ticket> tickets = new ArrayList<>(); public TicketOffice(Long amount. Ticket ... tickets) { // 이 부분 this.amount = amount; this.tickets.addAll(Arrays.asList(tickets)); } public Ticket getTicketO { return tickets.remove(0); } public void minusAmount(Long amount) { this.amount -= amount; } public void plusAmountdong amount) { this.amount += amount; } }
많은 프로젝트나 개발을 해본 것은 아니지만, 적어도 지금껏 공부하면서 가변 인자를 사용해본 적은 없습니다. 차라리
public TicketOffice(Long amount, List<Ticket> tickets) { this.amount = amount; this.tickets.addAll(tickets); }
이런 식으로 사용하는 게 조금 더 낫지 않을까란 생각입니다.
// 기존 가변 인자 스타일 new TicketOffice(1000L, ticket1, ticket2, ticket3); // List 사용 스타일 new TicketOffice(1000L, Arrays.asList(ticket1, ticket2, ticket3));
사실 java 언어로는 문법이 그렇게 복잡하지 않아서 좀 덜 한 편인 것 같은데, C++로 코드를 작성하면 조금 더 불편합니다.
template<typename... VariadicTickets> FTicketOffice(int64_t InAmount, VariadicTickets&&... InTickets) : Cash(InAmount) { (Tickets.emplace_back(std::forward<VariadicTickets>(InTickets)), ...); }
이런 식으로 Variadic Template(Parameter Pack) 코드를 작성해야 합니다. 그래서 더더욱 갸웃하게 되는 부분입니다.
여러 분은 어떻게 생각하시나요?
각자 코딩 스타일 차이인 걸로...
페이지
12p
궁금한 내용
많은 프로젝트나 개발을 해본 것은 아니지만, 적어도 지금껏 공부하면서 가변 인자를 사용해본 적은 없습니다. 차라리
이런 식으로 사용하는 게 조금 더 낫지 않을까란 생각입니다.
사실 java 언어로는 문법이 그렇게 복잡하지 않아서 좀 덜 한 편인 것 같은데, C++로 코드를 작성하면 조금 더 불편합니다.
이런 식으로 Variadic Template(Parameter Pack) 코드를 작성해야 합니다. 그래서 더더욱 갸웃하게 되는 부분입니다.
여러 분은 어떻게 생각하시나요?