小编Yan*_*Xie的帖子

GCC选项中的选项是什么"-Wl,OPTION"

当我阅读GCC的信息手册时,我找到了链接选项-Wl,OPTION:

`-Wl,OPTION'
 Pass OPTION as an option to the linker.  If OPTION contains
 commas, it is split into multiple options at the commas.
Run Code Online (Sandbox Code Playgroud)

但我找不到OPTION的定义.谁能告诉我在哪里找到它?我有谷歌,但没有找到.

linker gcc

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

返回本地实例时未调用析构函数

可能重复:
为什么析构函数没有从函数中调用返回的对象?

我写了一些C++代码(下面),用GCC 4.6编译它并成功运行.但是我不知道为什么classA在返回时没有调用析构函数createA().

既然ca是一个局部变量createA()(即在堆栈上),我认为从函数返回时应该调用它的析构函数.但事实上,析构函数只在从main函数返回时被调用一次.

此外,返回本地实例总是在此测试中正常工作.我想知道在返回后弹出帧时是否可以安全地返回堆栈帧上的本地实例.

这是我的代码:

#include <iostream>
#include <string.h>

class classA
{
public:
    classA() { len = 0; v = 0; }

    classA(int a)
    {
        len = a;
        v = new int[a];
        for (int i = 0; i < a; i++)
            v[i] = 2*i;
    }

    ~classA()
    {
        if (v)
            {
            memset(v, 0, len * sizeof(int));
            delete [] v;
        }
    }

    int *v;
    int len;
};

classA createA(int a) …
Run Code Online (Sandbox Code Playgroud)

c++ destructor return

8
推荐指数
1
解决办法
793
查看次数

为什么STL的命名约定使用如此多的前导下划线?

例如,

template<typename _RandomAccessIterator, typename _Compare>
inline void
sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
     _Compare __comp)
{
    typedef typename iterator_traits<_RandomAccessIterator>::value_type
        _ValueType;

    // concept requirements
    __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
                                    _RandomAccessIterator>)
        __glibcxx_function_requires(_BinaryPredicateConcept<_Compare, _ValueType,
                                    _ValueType>)
        __glibcxx_requires_valid_range(__first, __last);

    if (__first != __last)
    {
        std::__introsort_loop(__first, __last,
                              std::__lg(__last - __first) * 2, __comp);
        std::__final_insertion_sort(__first, __last, __comp);
    }
}
Run Code Online (Sandbox Code Playgroud)

由于这些模板放在命名空间std和大写,大写,小写和大写都使用,为什么需要前导下划线(单和双)?它只是那些开发人员的味道吗?还是有一些合理的技术原因?

stl

6
推荐指数
1
解决办法
584
查看次数

如何获取文件名的路径部分?

我想在MATLAB中dirnamebasenameLinux中获取文件名的路径部分.我试图找到一个像这样的功能strrchr,但我失败了.我知道strtok,strfind并且textscan可以使用,但我希望用不超过两个语句来实现这一点.

matlab filenames path

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

为什么我不能将函数中定义的函子传递给另一个函数?

我发现仿函数可以用来模拟在这样的函数中定义一个函数

using namespace std;
int main(int argc, char* argv[])
{
    struct MYINC {
        int operator()(int a) { return a+1; }
    } myinc;
    vector<int> vec;
    for (int i = 0; i < 10; i++) vec.push_back(myinc(i));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我将它传递给外部函数,如std :: transform,如下例所示,我有一个编译错误说error: no matching function for call to ‘transform(std::vector<int>::iterator, std::vector<int>::iterator, std::vector<int>::iterator, main(int, char**)::MYINC&)’

using namespace std;
int main(int argc, char* argv[])
{
    struct MYINC{
        int operator()(int a) { return a+1; }
    } myinc;
    vector<int> vec;
    for (int i = …
Run Code Online (Sandbox Code Playgroud)

c++

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

当一个新表格时,我会得到一个流程或线程吗?

在C#中,我有两个表单:mainForm和form1.

class Form1; //...
class mainForm {
    //...
    void f() {
        Form1 form1 = new Form1();
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我想等待form1退出并继续mainForm中的以下工作.但我不知道form1是作为进程或线程实现的,以及如何获取其ID.

谢谢.

c#

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

我可以更改 GitLab 中 git 路径名的组部分吗?

我正在使用GitLab v6.2.4。

我有一个名为人脸识别的组,其下有一个项目faceDetect,其git路径名为git@mygitlab:face-recognition/facedetect.git. 由于某种原因,我想将 git 路径名更改为git@mygitlab:facerecognition/facedetect.git,也就是说,删除-名称中的减号标点符号。

我尝试过搜索但不知道该怎么做。任何人都可以告诉我是否有一种方法可以做到这一点?


2014 年 1 月 4 日更新:我尝试过这样

在此输入图像描述

我收到 404 错误您正在查找的页面不存在

git gitlab

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

为什么命令选项"-f"被bash视为命令

我运行从时间的手册复制的命令,但它没有找到-f命令.为什么它将-f识别为命令?

$ time -f "%E real,%U user,%s sys" ls -Fs
-f: command not found

real    0m0.152s
user    0m0.108s
sys 0m0.040s
Run Code Online (Sandbox Code Playgroud)

我怀疑shell并决定尝试另一个shell.在上面,shell是bash.我切换到破折号,现在发现时间正确.

我的系统是Linux Mint 13.

bash shell

3
推荐指数
2
解决办法
265
查看次数

是否可以禁用IPython notbook将结果保存到ipynb文件中?

我使用Jupyter 4.1。

我发现单元格的结果也保存到ipynb文件中。我可以禁用它吗?我想用Git管理它。

例如,我笔记本的一个单元格,

  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "autoscroll": "json-false",
    "collapsed": false,
    "ein.tags": [
     "worksheet-0"
    ],
    "slideshow": {
     "slide_type": "-"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2016-08-04 : 749591\n",
      "2016-08-05 : 447416\n",
      "2016-08-06 : 305969\n",
     ]
    }
   ],
   "source": [
    "curidx = (data.cur_day - data.start_day).days\n",
    "for iday in range(curidx, data.nday):\n",
    "     day = data.cur_day + dt.timedelta(iday - curidx)\n",
    "     print \"%s : %d\"%(day, int(pdata.barCn[iday]))\n"
    ]
   }
Run Code Online (Sandbox Code Playgroud)

我不希望保存输出的内容。

jupyter-notebook

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

类型(1)是类型.__ call __(1)的等价物吗?

我在Jupyter控制台中运行代码(Python的版本是2.7.14),

type(1)
Out[71]: int

type.__call__(1)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-72-0ed097e2c413> in <module>()
----> 1 type.__call__(1)

TypeError: descriptor '__call__' requires a 'type' object but received a 'int'
Run Code Online (Sandbox Code Playgroud)

我猜对type(...)了,type.__call__(...)但似乎没有.所以我想知道:

  1. 什么是由Python解释器完成的,当我打电话type(1)还是type(name, base, dict)
  2. 什么时候type.__call__(...)会被调用?

谢谢.

python python-2.7

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

标签 统计

c++ ×2

bash ×1

c# ×1

destructor ×1

filenames ×1

gcc ×1

git ×1

gitlab ×1

jupyter-notebook ×1

linker ×1

matlab ×1

path ×1

python ×1

python-2.7 ×1

return ×1

shell ×1

stl ×1