小编Jak*_*ght的帖子

对矢量感到困惑

在此之前,我一直在学习代码在学校(矢量,字符,二维数组,没什么太花哨的),并在CodeBlocks中用C++编写代码.一个月前,我开始从C++ Primer学习.我现在处于矢量类型,我对此感到困惑.当我以前使用向量时,我从未包含任何其他库,我声明了这样的向量:

#include <iostream>

int main ()
{
    int v[10];
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

现在,矢量以更复杂的方式定义,使用vector库,提及定义中的元素类型等等.

我只是想知道如何在主题上有这么大的差异我认为相当容易.这些载体究竟是什么问题?

c++ vector c++11

8
推荐指数
3
解决办法
1235
查看次数

翻转函子实例 Haskell

我需要为Flip数据类型编写 Functor 实例:

data K a b = K a
newtype Flip f a b = Flip (f b a) deriving (Eq, Show)

instance Functor (Flip K a) where
fmap=undefined
Run Code Online (Sandbox Code Playgroud)

我在课堂上给出的解决方案是:

instance Functor (Flip K a) where
    fmap f (Flip (K b)) = Flip (K (f b))
Run Code Online (Sandbox Code Playgroud)

我真的不明白这里发生了什么,我开始怀疑我对数据类型和函子的整体理解。我所理解的是这个(如果有任何错误,请纠正我):

  • K是一种将 2 个参数转换为结构的数据类型K a(仅保留第一个参数)
  • Flip 是一种将 3 个参数转换为一个结构的数据类型
  • 因为 in fmap :: (a-> b) -> f a -> f bf a有种*,要写 Functor …

haskell

4
推荐指数
1
解决办法
96
查看次数

C++中的复合类型,const和auto

我试图理解这段代码.我一直在想弄清楚为什么d以及eint*const int*.我可以使用一些帮助.

const int ci = i, &cr = ci;
auto b = ci; // b is an int (top-level const in ci is dropped)
auto c = cr; // c is an int (cr is an alias for ci whose const is top-level)
auto d = &i; // d is an int*(& of an int object is int*)
auto e = &ci; // e is const int*(& of a const object …
Run Code Online (Sandbox Code Playgroud)

c++ const auto c++11

3
推荐指数
1
解决办法
126
查看次数

标签 统计

c++ ×2

c++11 ×2

auto ×1

const ×1

haskell ×1

vector ×1