すべてのチョウチンアンコウ類に共通する特徴として、性成熟後の雌雄の体格は著しい性的二形を示し、雄は雌よりも極端に小さい矮雄である。本科の矮雄はミツクリエナガチョウチンアンコウ科やオニアンコウ科と同様に、雌の体に食いついて一体化し、寄生生活を送るようになる。これまでに得られた本科の寄生雄（3例のみ）のうち、種が同定されているのは C. polynema のみである。寄生雄の付着部位はすべて腹部正中線の近くで、前方を向いた逆さまの状態になっていることが多い。結合部位は雄の吻および下顎から成長した組織と、雌の体表から円錐状に盛り上がった組織によって繋がれ、他のチョウチンアンコウ類のように雄の体が雌側に密着したり、めり込んだりすることはない。雄に寄生されていない雌の標本の多くが、よく成熟した卵巣を持つことから、少なくとも雌の性成熟に雌雄の結合は必要ないと考えられている。一方で、これまでに2個体が得られている自由生活期の雄の精巣はいずれも小さく、未発達であった。
ヒレナガチョウチンアンコウ科魚類は海底から離れた中層を漂って生活する、漂泳性深海魚の一群である。食性は肉食性で、頭部の誘引突起（イリシウム：釣り竿のように変形した背鰭第1鰭条）を用いて餌生物を惹き寄せるが、先端の擬餌状体（エスカ）には発光バクテリアを共生させるためのスペースが存在しないため、他の多くのチョウチンアンコウとは異なり生物発光を行うことはできない。本科魚類の特徴である細長く伸びた背鰭・臀鰭の鰭条は、感覚器官として働くと考えられている。それぞれの鰭条を1本ずつアンテナのように動かすことで、体の周囲に球状の知覚領域を作り、獲物や敵の接近を感知するとみられる。
ヒレナガチョウチンアンコウ科の魚類はすべて海水魚で、太平洋・インド洋・大西洋など世界中の深海に幅広く分布する。水深1,000m以深の漸深層で生活する種類が多く、ヒレナガチョウチンアンコウ（Caulophryne pelagica）および C. jordani の2種は、三大洋のそれぞれ800-1,625m、および900-1,750mの範囲を中心に報告されている。前者は日本の周辺に分布する唯一の本科魚類とされてきたが、伊豆諸島近海から未記載の新種として、ケナシヒレナガチョウチンアンコウ（C. sp.）が記録されている。ヒレナガチョウチンアンコウ属の残る2種のうち、C. polynema は大西洋と東部太平洋に分布する一方、インド太平洋からは知られていない。C. bacescui および Robia legula はいずれも極めて稀な種で、それぞれペルー沖およびバンダ海（インドネシア）から得られた1個体の標本に基づいて記載されている。
C++03では、コンストラクタは他のコンストラクタを呼び出せず、各コンストラクタでクラスメンバの初期化を全て行わなくてはならない。これはしばしば初期化コードの重複を招く。また、基底クラスのコンストラクタは、派生クラスに直接は公開されない。つまり、基底クラスのコンストラクタと殆ど同等であったとしても、派生クラス側でコンストラクタを定義する必要がある。他にも、constでないデータメンバは、メンバの宣言時に初期化できず、コンストラクタで初期化しなければならない。C++11では、このような問題点に対する解決策が提供された。まず、C++11では、コンストラクタが他の同等なコンストラクタを呼び出すこと（委譲）が可能になった。これにより、コンストラクタが他のコンストラクタを最小のコード追加で利用できるようになる。他の言語（Java等）では、既にこれを取り入れているものもある。構文は以下のようになる:class SomeType {  int number;  public:  SomeType(int newNumber) : number(newNumber) {}  SomeType() : SomeType(42) {}};注意すべき点として、C++03では1つのコンストラクタの動作完了と同時にオブジェクトの構築は完了していると考えることができていたが、C++11では一度のオブジェクトの構築に全てのコンストラクタが動作完了しなければならない、と考えなくてはならない点である。複数のコンストラクタが動作することを認めるので、委譲を行う各コンストラクタは完全に構築が完了したオブジェクトに対して動作することを意味する。派生クラスのコンストラクタは、基底クラスでのコンストラクタ間委譲が全て終了した時点で呼び出されることになるであろう。次に基底クラスのコンストラクタに関して、C++11では、基底クラスのコンストラクタを継承するようにクラスに対して指定することが可能になる。これにより、コンパイラは派生クラスのコンストラクタ呼び出しを基底クラスのそれへと転送するコードを生成することになる。注意すべき点は、この機能は、全てのコンストラクタ呼び出しを基底クラスに転送するか、全く転送しないか、の二者択一の機能であることである。他の注意点として、多重継承時の制限もある。同じシグネチャを持つ2つのコンストラクタに転送することはできないし、転送先のコンストラクタと同じシグネチャを持つコンストラクタを後で宣言することはできない。構文は以下のようになる:class BaseClass {public:  BaseClass(int value);  BaseClass(float value);};class DerivedClass : public BaseClass {public:  using BaseClass::BaseClass;};最後にメンバの初期化に関して、C++11では、メンバの初期化に以下のような構文が認められる:class SomeClass {  int iValue = 5;};この例では、コンストラクタが初期化内容を上書きしない限り、iValueは5に初期化される。上書きする例は次のようになる:class SomeClass {  int iValue = 5;  public:  SomeClass() {}  explicit SomeClass(int iNewValue) : iValue(iNewValue) {}};この場合、空のコンストラクタではiValueはクラス定義に従って初期化されるが、int引数を取るコンストラクタの場合はその引数に従って初期化されることになるであろう。