标签: default

如何在模板函数中创建类型的实例?(C++)

我需要一个模板函数,它为传递的参数赋予一个默认值

template <class T> inline T GetDefault()
{
    return ???? # default value
}
Run Code Online (Sandbox Code Playgroud)

TCAND是bool,int,doublestring.

谢谢.

c++ templates default

0
推荐指数
3
解决办法
124
查看次数

为什么在通用DAO接口中使用方法的默认访问?

我在浏览时找到了通用DAO接口的代码:

public interface GenericDAO<T, ID extends Serializable> {

    Class<T> getEntityClass();

    T findById(final ID id);

    List<T> findAll();
    List<T> findByExample(final T exampleInstance);

    List<T> findByNamedQuery(
        final String queryName,
        Object... params
    );

    List<T> findByNamedQueryAndNamedParams(
        final String queryName,
        final Map<String, ?extends Object> params
    );

    int countAll();

    int countByExample(final T exampleInstance);

    T save(final T entity);

    boolean delete(final T entity);
}
Run Code Online (Sandbox Code Playgroud)

是否有任何理由特别留下具有默认访问修饰符的方法(类/包:是,子类/世界:否)?

PS:一个补充问题.ID通常是在不依赖于RDBMS(XML,平面文件......)的实现中找到的吗?

java dao default access-modifiers generic-interface

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

通过引用设置Bool的默认值

如何为作为参考的bool分配默认值?

我有这样的功能:

void someFunction(bool a = true, bool& b)
{
 if(a)
   b = false;
 else
   std::cout << "nothings changed" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

我应该如何在此上下文中为b分配默认值?

void someFunction(bool a = true, bool& b = false)
Run Code Online (Sandbox Code Playgroud)

不管用.那怎么办呢?

c++ boolean default

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

如何对C++数组进行值初始化?

1)在C++中,提供的初始化列表{}是一样的{0}吗?声明是:

int x[10]={};

int x[10]={0};

两个都生成相同的数组,所有元素都初始化为0?

2)在NULL不为0的系统/编译器上,指针数组的默认值初始化是将元素设置为NULL还是0?应该/可以使用以下哪些陈述?

int *x[10]={NULL};

int *x[10]={0};

int *x[10]={};

如何new使用空括号的值初始值设定项 - 它们是使用NULL还是0作为初始值设定项?

int **x=new int*[10]();

c++ default initializer

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

C#默认值

private static void print(StreamWriter sw, string mlog, bool screen)
    {
        DateTime ts = DateTime.Now;
        sw.WriteLine(ts + " " + mlog);
        if (screen == true)
        {
            Console.WriteLine(mlog);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我会print (sw,"write here", false)打电话来.我有90%的机会使用假.如何使它成为默认为假的方式,当我打电话时,我没有必要做额外的类型?

c# default class

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

一个开关中的默认语句,在while循环中,没有破坏c#

基本的纸牌游戏,在while循环中有一个switch语句.case是用户输入选择的卡号,然后更换.那部分工作正常.但测试默认语句(任何数字不是0-5),它进入默认的console.writeline的无限循环,我不知道为什么它没有破坏.在以前的开关嵌套在while循环中它对我有效,但我从来没有在以前的默认值之前有这个无限循环问题.任何帮助/提示?

int userInput;
string userString;
Console.WriteLine("Would you like to replace a card?");
Console.WriteLine("Select which card you would like to replace, 1-5. Enter 0 to skip");
userString = Console.ReadLine();
int.TryParse(userString, out userInput);
while (userInput != 0)
{
    switch (userInput)
    {
        case 1:
            userInput--;
            userHand[userInput] = cardDeck.GetOneCard();
            break;
        case 2:
            userInput--;
            userHand[userInput] = cardDeck.GetOneCard();
            break;
        case 3:
            userInput--;
            userHand[userInput] = cardDeck.GetOneCard();
            break;
        case 4:
            userInput--;
            userHand[userInput] = cardDeck.GetOneCard();
            break;
        case 5:
            userInput--;
            userHand[userInput] = cardDeck.GetOneCard();
            break;
        default:
            Console.WriteLine("Incorrect input, try again");
            break; …
Run Code Online (Sandbox Code Playgroud)

c# default infinite-loop while-loop switch-statement

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

构造函数及其使用方式

我正在阅读我的编程文本,我觉得这是一个关于构造函数的非常合乎逻辑的问题.

例如,如果我有代码:

public class Ship{
   String name;
   int position;

   public Ship(int position){
      this.position = position;
   }
   public Ship(String name){
      this.name = name;
   }
   public Ship(){
      name = "Titanic";
      position = 0;
   }
}
Run Code Online (Sandbox Code Playgroud)

因此,如果我的行话正确,Ship()则默认构造函数.而带参数的构造函数是初始化构造函数.

现在这是背景......这是我的问题!当我使用其中一个包含参数的构造函数时,正在使用的字段会发生什么(在本例中是另一个字段).例如,当我调用数据字段Ship(5)的值是什么时name?它是采用默认值还是仅采用数据类型的默认值?

这是否意味着如果我调用这个单个参数构造函数,我必须为其他字段设置一个值?

java parameters constructor default

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

在Python中,有一种更简单的方法可以将一个参数默认为另一个参数吗?

在Python 3.3.3中,当我尝试

def f(x,y=0):
 z = x+y
 return z
Run Code Online (Sandbox Code Playgroud)

它工作得很好.
但是,当我尝试

def f(x,y=x):
 z = x+y
 return z
Run Code Online (Sandbox Code Playgroud)

我得到NameError: name 'x' is not defined.
我知道我可以做到

def f(x,y=None):
 y = x if y is None else y
 z = x+y
 return z
Run Code Online (Sandbox Code Playgroud)

.


是否有更简洁或更好的方法来获得理想的结果?

python arguments default function python-3.3

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

没有键时Python字典的默认值

是否有更优雅的方法来实现此目的:如果密钥存在,则将其值增加1,否则创建密钥并将其值设置为1.

histogram = {}
...
if histogram.has_key(n):
    histogram[n] += 1
else: 
    histogram[n] = 1
Run Code Online (Sandbox Code Playgroud)

python dictionary default

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

模板默认参数作为指向自身的指针

我正在尝试开发一个通用树模板类,基本上,表示相同节点的层次结构.它需要2个模板参数,第一个是数据,第二个是引用另一个节点的类型(prev,next,parent,child).默认情况下,我希望它是一个传统的节点指针,但为了我的目的,我还需要它是不同的东西(例如内存池的整数索引).下面的代码无法编译.本能地,我觉得可以做到,但我不知道怎么做.任何人都可以提供这方面的见解吗?

template <typename U, typename TPTR = TreeNode_t<U>*>
class TreeNode_t
{
public:
    TPTR    prev;
    TPTR    next;
    TPTR    parent;
    TPTR    children;
    U m;
public:
    TreeNode_t() : prev(0), next(0), parent(0){}
    ~TreeNode_t(){}
    U &data() { return m; }
    const U &data() const { return m; }
    ...
Run Code Online (Sandbox Code Playgroud)

具体来说,我通常会像这样实例化它:

TreeNode_t<double> tree1;
Run Code Online (Sandbox Code Playgroud)

但是,有时我会这样想:

TreeNode_t<double, unsigned> tree2;
Run Code Online (Sandbox Code Playgroud)

c++ templates default parameter-passing

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