小编Mat*_*tti的帖子

为什么使用alloca()不被视为良好做法?

alloca()在堆栈上而不是在堆上分配内存,如同的情况一样malloc().所以,当我从例程返回时,内存被释放.所以,实际上这解决了我释放动态分配内存的问题.释放分配的内存malloc()是一个令人头痛的问题,如果不知何故错过会导致各种内存问题.

alloca()尽管有上述特征,为什么不鼓励使用?

c malloc stack allocation alloca

381
推荐指数
18
解决办法
12万
查看次数

如何在C中获取文件大小?

可能重复:
如何确定C中文件的大小?

如何找出用C语言编写的应用程序打开的文件大小?我想知道大小,因为我想把加载文件的内容放入一个我分配的字符串中malloc().只是写作malloc(10000*sizeof(char));是恕我直言,一个坏主意.

c size file

364
推荐指数
7
解决办法
75万
查看次数

在Haskell中进行高效的字符串交换

我正在尝试解决Haskell中的函数式编程练习的问题.我必须实现一个函数,在给定一个具有偶数个字符的字符串的情况下,该函数返回相同字符串并交换字符对.

像这样:

"helloworld" - >"ehllworodl"

这是我目前的实施:

swap :: String -> String
swap s = swapRec s ""
  where
    swapRec :: String -> String -> String
    swapRec [] result       = result
    swapRec (x:y:xs) result = swapRec xs (result++[y]++[x])
Run Code Online (Sandbox Code Playgroud)

我的函数返回正确的结果,但编程练习是定时的,看起来我的代码运行得太慢了.

我能做些什么来让我的代码运行得更快,或者我是否采用了错误的方法解决问题?

haskell

5
推荐指数
1
解决办法
154
查看次数

协议缓冲区与扁平缓冲区

所以,我目前正在开发一个广泛使用Protocol Buffers的项目,主要是作为一种在键值数据库中存储复杂对象的方法.

迁移到Flat Buffers是否会在性能方面提供相当大的好处?

更一般地说,是否有充分的理由使用Protocol Buffers而不是Flat Buffers?

c++ protocol-buffers flatbuffers

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

使用std :: move初始化std :: unique_ptr

最近我看到了一些与此类似的C++代码

class MyClass {
    public:
    MyClass(std::unique_ptr< MyType > myValue)
        : _myValue(std::move(myValue)) {}

    std::unique_ptr< MyType > _myValue;
};
Run Code Online (Sandbox Code Playgroud)

这是初始化unique_ptr的正确方法吗?是不是显式std :: move不必要?

c++ c++11

0
推荐指数
1
解决办法
279
查看次数

标签 统计

c ×2

c++ ×2

alloca ×1

allocation ×1

c++11 ×1

file ×1

flatbuffers ×1

haskell ×1

malloc ×1

protocol-buffers ×1

size ×1

stack ×1