小编Jon*_*han的帖子

可选参数用于引用指针?

如何将第二个参数声明为可选参数?

template <typename T>
inline void Delete (T *&MemoryToFree,
    T *&MemoryToFree2 = ){
    delete MemoryToFree;
    MemoryToFree = NULL;

    delete MemoryToFree2;
    MemoryToFree2 = NULL;

}
Run Code Online (Sandbox Code Playgroud)

我在=运算符之后尝试了几个东西,比如NULL,(T*)NULL等.可以这样做吗?

编译器允许我这样做的唯一方法是使用重载...

    template <typename T, typename T2>
inline void Delete (T *&MemoryToFree, T2 *&MemoryToFree2){
    delete MemoryToFree;
    MemoryToFree = NULL;

    delete MemoryToFree2;
    MemoryToFree2 = NULL;
}
Run Code Online (Sandbox Code Playgroud)

c++ parameters pointers reference optional

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

使用 material-dropdown-select 时 DomPopupSourceFactory 提供程序错误

我正在尝试使用材料下拉选择,但出现此错误:

EXCEPTION: No provider found for DomPopupSourceFactory.
Run Code Online (Sandbox Code Playgroud)

将 materialDirectives 添加到指令列表中,html 调用很简单:

<material-dropdown-select></material-dropdown-select>
Run Code Online (Sandbox Code Playgroud)

我尝试了 angular_components_example 并且效果很好。问题出在我的项目上。我已经尝试清理 .packages 并执行 pub get。没有任何效果。我尝试了一些其他材料组件,它们奏效了。

dart angular-dart material-components

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

模板和标题问题

编译器说我在执行此操作时找不到该函数的引用:

// link.h
template <class T>
    T *Link(T *&, T *(*)())

// link.cpp
template <class T>
T c:Link(T *&ChildNodeReference, T *(*ObjectCreator)()){

}
Run Code Online (Sandbox Code Playgroud)

如果我在标题内的类中实现它顺利进行.

拜托,我会在标题上工作,直到有人为此启发我.

C++中有些东西很奇怪.我知道,有这样的原因等等.即便如此,编译器也无法帮助你解决它-_-"

c++ templates header declaration

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

公共图书馆的char或std :: string数组?

我的问题很简单:
我应该使用char数组,例如:

char *buf, buf2[MAX_STRING_LENGTH]  
Run Code Online (Sandbox Code Playgroud)

等或者我应该在一个库中使用std :: string,这些库将被其他程序员使用,他们可以在他们选择的任何SO和编译器上使用它吗?

考虑性能和便携性......

从我的角度来看,std字符串更容易,性能相同或差别太小,不能使用std:string,关于可移植性,我不知道.我想因为它是标准的,所以不应该有任何编译器在没有它的情况下编译C++,至少是任何重要的编译器.

编辑:
该库将在3个主要操作系统上编译,理论上,作为库分发

你的意见?

蒂,

c++ compiler-construction string standards char

2
推荐指数
1
解决办法
371
查看次数

其他人使用的头文件类文件

我想知道是否有一种方法只在头文件.h上放置受保护和公共的东西,以及编译单元.cpp中的所有私有东西我需要这个,因为该库将被其他人使用,而我不希望复制和编辑所有.h文件以删除私有声明和实现.我试过但得到了重复声明错误

另一个问题是关于私有静态的东西我可以在头文件中声明它们并在.cpp单元上实现它们吗?一个私有变量和一个公共的get方法我试过但是无法在单元上实现该方法,它只适用于头上的声明和实现

[] s,乔

c++ private header class public

1
推荐指数
2
解决办法
336
查看次数

没有共享所有权的Getters

如何编写一个无法删除的getter?我想拥有变量而不是分享它们.在这里和那里读书我发现无论我什么回来,记忆都可以被释放

但我定义它,这是真的吗?

引用,const指针,无论如何,调用getter的函数都可以删除它,我的私有变量不会被取消但是内存坏了,对吧?

我想开发一个getter,我可以返回我的私有变量,并确保被调用者不能删除它...

我担心,在内部使用私有变量时,被调用者已经破坏了它,然后它在我的内部下一次尝试使用它时崩溃了我的程序

在第一次尝试中我不想使用提升,因为我试图从这个项目中学到最多,如果没有其他方式可以使用提升,或者如果反过来太复杂/多工作

谢谢,

我的另一个问题并没有真正集中,所以我再次这样做了,问这里问题不是问题,对吧?=]

c++ getter

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

指针和参考问题

#ifndef DELETE
    #define DELETE(var) delete var, var = NULL
#endif

using namespace std;

class Teste {
    private:
        Teste *_Z;

    public:
    Teste(){
        AnyNum = 5;
        _Z = NULL;
    }
    ~Teste(){
        if (_Z != NULL)
            DELETE(_Z);
    }

    Teste *Z(){
        _Z = new Teste;
        return _Z;
    }
    void Z(Teste *value){
        value->AnyNum = 100;
        *_Z = *value;
    }

    int AnyNum;
};

int main(int argc, char *argv[]){
    Teste *b = new Teste, *a;

    a = b->Z();

    cout << "a->AnyNum: " << a->AnyNum << "\n";

    b->Z(new …
Run Code Online (Sandbox Code Playgroud)

c++ memory pointers set

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

在magento上,当客户访问某个产品时,如何重定向页面?

我的任务是在用户进入产品视图时将用户重定向到页面.
我想知道magento是否有内置的功能.可以?
如果没有,我在哪里编码这个正确的地方?

编辑:
客户正在搜索产品,然后点击某个产品,而不是转到产品视图,我想根据其点击的产品将其重定向到特定页面.

谢谢!

php magento

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

在Perl中转储数组

我需要用数据填充一些数组并将其转储到屏幕上。这是代码:

my @a;

@a[0] = 69;
foreach $sibling ($someotherlist){
    my $cha = $sibling->{"id"} * 1;

    if (defined @a[$cha]){
        @a[$cha] = 0;
    }

    @a[$cha] = @a[$cha] + 1;
}
print Dumper(@a);
Run Code Online (Sandbox Code Playgroud)

问题是它只打印$ VAR1 = 69;
应该是这样的:

$VAR1 = {
   0 => 69,
   1 => 30,
   20 => 90
}
Run Code Online (Sandbox Code Playgroud)

arrays perl

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