int로 구분 된 알 수없는 공간을 포함하는 파일에서 한 줄을 읽어야한다고 가정합니다. 어떻게 선을 읽고 int 배열로 변환 할 수 있습니까? D에서이 문제를 해결하는 간단한 방법은 무엇입니까? 현재 작동하지 않는 시도입니다. map를 사용 auto f = File("in");
foreach(line; f.byLine()){
int[] arr;
저는 D로 시작하는 C++ 프로그래머로서 D 클래스에 대한 액세스 한정자를 이해하는 데 어려움을 겪고 있습니다. 다음의 예를 생각해 import std.stdio;
class Foo {
private void aPrivateMethod()
{
writeln("called aPrivateMethod");
}
좋아, 이것이 스택 오버플로에 대한 나의 첫 번째 질문이다. 그래서 내가 제대로 묻지 않는다면 그것으로 끝내라. 기본적으로 std.socket을 사용하여 일부 비동기 소켓을 코딩하려고하지만 개념이 올바른지 잘 모르는지 확실하지 않습니다. C#에서 비동기 소켓을 사용하여 작업 한 적이 있지만 D에서는 훨씬 낮은 수준 인 것처럼 보입니다. 나는 많은 것을 연구
첫 번째 질문 : D 배열 함수 매개 변수는 항상 참조 또는 값으로 전달됩니까? 또한 언어는 배열에 대한 쓰기 복사를 구현합니까? 예 : void foo(int[] arr)
{
// is arr a local copy or a ref to an external array?
arr[0] = 42; // How about now?
}
with 블록은 D 언어로 제공됩니까? 나는 다음과 같은 동작을 찾고 있어요 : 그것은 사용할 수없는 경우 struct Address {
string street;
int number;
}
struct Person {
Address address;
}
// in some function
Person p = ...
w
Node 구조체를 작성했으며이 구조체에 대한 포인터를 Phobos BinaryHeap의 항목으로 사용할 수 있기를 원합니다. 그러나, 나는 opEquals과 opCmp이 구조체에 대한 포인터 (또는 실제로는 일반적으로)에 대해 어떻게 구현되는지 잘 모르겠습니다. 문서에서 도움을 얻을 수 없었습니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?
형식 정보를 스레드로 전달하면 전달 된 정보를 사용하여 올바른 형식의 개체를 스레드에 만들 수 있습니까? 다음과 같은 것 : struct Test // or class Test
{
int x, y, z;
}
void testInThread(F, T ...)(T args)
{
auto obj = F(args);
// Do
스택에있는 구조체의 가비지 수집 복사본을 만들려면 어떻게해야합니까? C++ 배경에서 나온 첫 번째 추측은 아래의 것과 같은 복사 생성자가 될 것이지만 D에 대해서는 매우 관용적 인 것처럼 보이지 않으며 내가 본 D 프로젝트 중 하나를 보지 못했습니다. 보세요. struct Foo {
immutable int bar;
this(int b)